Hi,MM,下面是我的代码。你要怎么感激我呀
package main;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
public class PopupDemo extends JFrame {
private static final long serialVersionUID = 1L;
private JPopupMenu popup = null;
private JPanel panel = null;
public PopupDemo() {
initGUI();
}
private void initGUI() {
this.setTitle("PopupDemo");
this.add(this.getPanel(), BorderLayout.CENTER);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocation(300, 300);
this.setSize(300, 200);
this.setVisible(true);
}
private JPanel getPanel() {
if(panel == null) {
panel = new JPanel();
panel.setSize(300, 200);
panel.setBackground(Color.GRAY);
panel.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON3) {
getPopup().show(e.getComponent(),
e.getX(), e.getY());
}
}
});
}
return panel;
}
private JPopupMenu getPopup() {
if(popup == null) {
popup = new JPopupMenu("Popup");
JMenuItem item1 = new JMenuItem("Blue");
item1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
panel.setBackground(Color.BLUE);
}
});
popup.add(item1);
JMenuItem item2 = new JMenuItem("Red");
item2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
panel.setBackground(Color.RED);
}
});
popup.add(item2);
JMenuItem item3 = new JMenuItem("Default");
item3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
panel.setBackground(Color.GRAY);
}
});
popup.add(item3);
popup.setInvoker(panel);
}
return popup;
}
public static void main(String[] args) {
new PopupDemo();
}
}
2008年10月31日 15:01