一个小程序实现菜单: (P250)
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.*;
class mouseAdapt implements MouseListener
{
public void mouseClicked(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}
public class Menue extends mouseAdapt implements ActionListener{
JFrame frame = new JFrame("popupMenu");
JPopupMenu popup = new JPopupMenu();
JTextField tf = new JTextField();
JLabel label = new JLabel("Try to click left and button");
public static void main(String [] ary)
{
Menue menue = new Menue();
menue.go();
}
void go()
{
JMenuItem menuitem = new JMenuItem("NEW", KeyEvent.VK_N);
menuitem.addActionListener(this);
popup.add(menuitem);
menuitem = new JMenuItem("LOAD", KeyEvent.VK_L);
menuitem.addActionListener(this);
popup.add(menuitem);
menuitem = new JMenuItem("SAVE", KeyEvent.VK_S);
menuitem.addActionListener(this);
popup.add(menuitem);
popup.addSeparator();
menuitem = new JMenuItem("COPY", KeyEvent.VK_C);
menuitem.addActionListener(this);
popup.add(menuitem);
menuitem = new JMenuItem("CUT", KeyEvent.VK_T);
menuitem.addActionListener(this);
popup.add(menuitem);
menuitem = new JMenuItem("PASTE", KeyEvent.VK_T);
menuitem.addActionListener(this);
popup.add(menuitem);
label.addMouseListener(this);
tf.setEditable(false);
Container cp = frame.getContentPane();
cp.add(label, BorderLayout.CENTER);
cp.add(tf, BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setSize(300, 200);
}
public void mousePressed(MouseEvent e)
{
maybeShowPopup(e);
}
public void mouseReleased(MouseEvent e)
{
maybeShowPopup(e);
}
private void maybeShowPopup(MouseEvent e)
{
if(e.isPopupTrigger())
{
popup.show(e.getComponent(), e.getX(), e.getX());
}
}
public void actionPerformed (ActionEvent e)
{
tf.setText(e.getActionCommand());
if(e.getActionCommand() == "EXIT")
{
System.exit(0);
}
}
}
Java中的菜单--JPopupMenu
最新推荐文章于 2021-04-15 00:22:59 发布