什么是浮动菜单??
是不是右键的快捷菜单
给你个例子
import java.awt.*;
import javax.swing.*;
public class PopupMenu1 extends JApplet
{
public void init()
{
JPopupMenu fileMenu=new JPopupMenu("File");
JMenuItem i1=new JMenuItem("New");
JMenuItem i2=new JMenuItem("Open");
JMenuItem i3=new JMenuItem("save");
fileMenu.add(i1);
fileMenu.add(i2);
fileMenu.add(i3);
JRadioButton b=new JRadioButton("button2");
fileMenu.add(b);
fileMenu.show(b,150,150);
fileMenu.setLocation(200,400);
}
}
上面是个applet,在网页中有菜单
JFrame上的实现我现在手头没有,有个复杂拿出来没用
是不是右键的快捷菜单
给你个例子
import java.awt.*;
import javax.swing.*;
public class PopupMenu1 extends JApplet
{
public void init()
{
JPopupMenu fileMenu=new JPopupMenu("File");
JMenuItem i1=new JMenuItem("New");
JMenuItem i2=new JMenuItem("Open");
JMenuItem i3=new JMenuItem("save");
fileMenu.add(i1);
fileMenu.add(i2);
fileMenu.add(i3);
JRadioButton b=new JRadioButton("button2");
fileMenu.add(b);
fileMenu.show(b,150,150);
fileMenu.setLocation(200,400);
}
}
上面是个applet,在网页中有菜单
JFrame上的实现我现在手头没有,有个复杂拿出来没用
implements MouseListener {
private Border normalBorder = BorderFactory.createEmptyBorder(1, 1, 1, 1);
private Border rolloverBorder = BorderFactory.createLineBorder(Color.black);
private Border pressedBorder = BorderFactory.createLineBorder(Color.black);
private Border releasedBorder = BorderFactory.createLineBorder(Color.black);
private Color normalColor = Color.black;
private Color rolloverColor = Color.red;
private Color pressedColor = Color.blue;
private Color releasedColor = Color.red;
private Color normalBackgroundColor = SystemColor.control;
private Color rolloverBackgroundColor = new Color(204, 204, 255);
private Color pressedBackgroundColor = new Color(180, 180, 240);
private Color releasedBackgroundColor = new Color(204, 204, 255);
java.applet.AudioClip rolloverAudio = AudioFactory.getRolloverAudio();
java.applet.AudioClip pressAudio = AudioFactory.getPressAudio(); /**
* Creates a button with no set text or icon.
*/
public RolloverJButton() {
this(null, null);
} /**
* Creates a button with an icon.
*
* @param icon the Icon image to display on the button
*/
public RolloverJButton(Icon icon) {
this(null, icon);
} /**
* Creates a button with text.
*
* @param text the text of the button
*/
public RolloverJButton(String text) {
this(text, null);
} /**
* Creates a button where properties are taken from the
* Action supplied.
*
* @since 1.3
*/
public RolloverJButton(Action a) {
this();
setAction(a);
} /**
* Creates a button with initial text and an icon.
*
* @param text the text of the button.
* @param icon the Icon image to display on the button
*/
public RolloverJButton(String text, Icon icon) {
super(text, icon);
addMouseListener(this);
setBorder(getNormalBorder());
setRolloverEnabled(true);
setFocusPainted(false);
// Display text below icon
setHorizontalTextPosition(SwingConstants.CENTER);
setVerticalTextPosition(SwingConstants.BOTTOM);
}
public Border getNormalBorder() {
return normalBorder;
}
public void setNormalBorder(Border border) {
normalBorder = border;
repaint();
}
public Border getRolloverBorder() {
return rolloverBorder;
}
public void setRolloverBorder(Border border) {
rolloverBorder = border;
repaint();
}
public Border getPressedBorder() {
return pressedBorder;
}
public void setPressedBorder(Border border) {
rolloverBorder = border;
repaint();
}
public Border getReleasedBorder() {
return releasedBorder;
}
public void setReleasedBorder(Border border) {
releasedBorder = border;
repaint();
}
public Color getNormalColor() {
return normalColor;
}
public void setNormalColor(Color color) {
normalColor = color;
repaint();
} public Color getRolloverColor() {
return rolloverColor;
}
public void setRolloverColor(Color color) {
rolloverColor = color;
repaint();
} public Color getPressedColor() {
return pressedColor;
}
public void setPressedColor(Color color) {
pressedColor = color;
repaint();
} public Color getReleasedColor() {
return releasedColor;
}
public void setReleasedColor(Color color) {
releasedColor = color;
repaint();
} public Color getNormalBackgroundColor() {
return normalBackgroundColor;
}
public void setNormalBackgroundColor(Color color) {
normalBackgroundColor = color;
repaint();
} public Color getRolloverBackgroundColor() {
return rolloverBackgroundColor;
}
public void setRolloverBackgroundColor(Color color) {
rolloverBackgroundColor = color;
repaint();
} public Color getPressedBackgroundColor() {
return pressedBackgroundColor;
}
public void setPressedBackgroundColor(Color color) {
pressedBackgroundColor = color;
repaint();
} public Color getReleasedBackgroundColor() {
return releasedBackgroundColor;
}
public void setReleasedBackgroundColor(Color color) {
releasedBackgroundColor = color;
repaint();
} /**
* Implements of interface java.awt.event.MouseListener.
*/
public void mouseClicked(MouseEvent e) { } public void mouseEntered(MouseEvent e) {
// Must first test the button's enable state
if(!isEnabled()) return;
setBorder(getRolloverBorder());
setForeground(getRolloverColor());
setBackground(getRolloverBackgroundColor());
rolloverAudio.play();
} public void mouseExited(MouseEvent e) {
setBorder(getNormalBorder());
setForeground(getNormalColor());
setBackground(getNormalBackgroundColor());
} public void mousePressed(MouseEvent e) {
// Must first test the button's enable state
if(!isEnabled()) return;
if( !SwingUtilities.isLeftMouseButton(e) ) return;
setBorder(getPressedBorder());
setForeground(getPressedColor());
setBackground(getPressedBackgroundColor());
pressAudio.play();
} public void mouseReleased(MouseEvent e) {
if(!isEnabled()) return;
if( !SwingUtilities.isLeftMouseButton(e) ) return;
setBorder(getReleasedBorder());
setForeground(getReleasedColor());
setBackground(getReleasedBackgroundColor());
}
}
//看看这个怎么样。是别人写。