📄 jpopupmenudemo.java
字号:
package components;
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.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
public class JPopupMenuDemo extends JFrame {
private static final long serialVersionUID = 1L;
private JPopupMenu popupMenu;
private JRadioButtonMenuItem[] colors;
private static final Color[] colorValues = {Color.RED,Color.GREEN,Color.BLUE};
public JPopupMenuDemo() {
popupMenu = new JPopupMenu();
colors = new JRadioButtonMenuItem[3];
String[] colorNames = {"RED","GREEN","BLUE"};
ButtonGroup group = new ButtonGroup();
ItemHandler handler = new ItemHandler();
for (int i = 0; i < colors.length; i++) {
colors[i] = new JRadioButtonMenuItem(colorNames[i]);
colors[i].addActionListener(handler);
popupMenu.add(colors[i]);
group.add(colors[i]);
}
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if(e.isPopupTrigger()) {
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
});
setSize(400,400);
setVisible(true);
}
public static void main(String[] args) {
JPopupMenuDemo application = new JPopupMenuDemo();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class ItemHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
for(int i = 0; i < colors.length; i++) {
if(colors[i] == e.getSource()) {
getContentPane().setBackground(colorValues[i]);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -