【新手提问】请问怎么给托盘图标右击就出来个JPopupMenu那样的东西呢? 因为昨天上不了网,翻了好久的API还是翻不出来。。JPopupMenu这东西要怎么用?我加到一个JFrame里面,右键都点烂,就是不出来。。郁闷。。有没有简单点的例子给晚辈看看。。谢谢高手帮忙。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.Component;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;import javax.swing.JRadioButtonMenuItem;public class JPopupMenuTest { private JFrame frame; /** * Launch the application * @param args */ public static void main(String args[]) { try { JPopupMenuTest window = new JPopupMenuTest(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } /** * Create the application */ public JPopupMenuTest() { initialize(); } /** * Initialize the contents of the frame */ private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 290, 234); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPopupMenu popupMenu = new JPopupMenu(); addPopup(frame.getContentPane(), popupMenu); final JMenuItem newItemMenuItem = new JMenuItem(); newItemMenuItem.setText("New Item"); popupMenu.add(newItemMenuItem); popupMenu.addSeparator(); final JCheckBoxMenuItem newCheckboxCheckBoxMenuItem = new JCheckBoxMenuItem(); newCheckboxCheckBoxMenuItem.setText("New CheckBox"); popupMenu.add(newCheckboxCheckBoxMenuItem); final JMenu menu = new JMenu(); menu.setText("New SubMenu"); popupMenu.add(menu); final JMenuItem newItemMenuItem_1 = new JMenuItem(); newItemMenuItem_1.setText("New Item"); menu.add(newItemMenuItem_1); final JCheckBoxMenuItem newCheckboxCheckBoxMenuItem_1 = new JCheckBoxMenuItem(); newCheckboxCheckBoxMenuItem_1.setText("New CheckBox"); menu.add(newCheckboxCheckBoxMenuItem_1); final JRadioButtonMenuItem newRadiobuttonRadioButtonMenuItem_1 = new JRadioButtonMenuItem(); newRadiobuttonRadioButtonMenuItem_1.setText("New RadioButton"); menu.add(newRadiobuttonRadioButtonMenuItem_1); final JRadioButtonMenuItem newRadiobuttonRadioButtonMenuItem = new JRadioButtonMenuItem(); newRadiobuttonRadioButtonMenuItem.setText("New RadioButton"); popupMenu.add(newRadiobuttonRadioButtonMenuItem); } private static void addPopup(Component component, final JPopupMenu popup) { component.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) showMenu(e); } public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) showMenu(e); } private void showMenu(MouseEvent e) { popup.show(e.getComponent(), e.getX(), e.getY()); } }); }} 托盘?我用jni实现过,纯java应该不行吧。最近研究swt,不知道有没有托盘功能。 JDK1.6实现了系统托盘图标的功能,JDK1.5的还没有 关于java new Date()的疑问 学生信息管理系统。。。提问 帮帮我这菜鸟吧 在日文系统下使用java连接access数据库,取得其中的中文数据时返回乱码,怎么解决? 我想咨询一下JDK的安装问题 如何自动显示第一条信息 JAVA 查询MYSQL带中文问题 JAVA程序自动运行的问题 求助:JCreator Pro的问题 关于JFrame的问题 关于java Swing 一个关于业务流程的一个 图形化展示的考虑 JDialog 中setVisible的问题 struts中的select标签没有onpropertychange 属性?
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;public class JPopupMenuTest { private JFrame frame; /**
* Launch the application
* @param args
*/
public static void main(String args[]) {
try {
JPopupMenuTest window = new JPopupMenuTest();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
} /**
* Create the application
*/
public JPopupMenuTest() {
initialize();
} /**
* Initialize the contents of the frame
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 290, 234);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPopupMenu popupMenu = new JPopupMenu();
addPopup(frame.getContentPane(), popupMenu); final JMenuItem newItemMenuItem = new JMenuItem();
newItemMenuItem.setText("New Item");
popupMenu.add(newItemMenuItem); popupMenu.addSeparator(); final JCheckBoxMenuItem newCheckboxCheckBoxMenuItem = new JCheckBoxMenuItem();
newCheckboxCheckBoxMenuItem.setText("New CheckBox");
popupMenu.add(newCheckboxCheckBoxMenuItem); final JMenu menu = new JMenu();
menu.setText("New SubMenu");
popupMenu.add(menu); final JMenuItem newItemMenuItem_1 = new JMenuItem();
newItemMenuItem_1.setText("New Item");
menu.add(newItemMenuItem_1); final JCheckBoxMenuItem newCheckboxCheckBoxMenuItem_1 = new JCheckBoxMenuItem();
newCheckboxCheckBoxMenuItem_1.setText("New CheckBox");
menu.add(newCheckboxCheckBoxMenuItem_1); final JRadioButtonMenuItem newRadiobuttonRadioButtonMenuItem_1 = new JRadioButtonMenuItem();
newRadiobuttonRadioButtonMenuItem_1.setText("New RadioButton");
menu.add(newRadiobuttonRadioButtonMenuItem_1); final JRadioButtonMenuItem newRadiobuttonRadioButtonMenuItem = new JRadioButtonMenuItem();
newRadiobuttonRadioButtonMenuItem.setText("New RadioButton");
popupMenu.add(newRadiobuttonRadioButtonMenuItem);
} private static void addPopup(Component component, final JPopupMenu popup) {
component.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger())
showMenu(e);
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger())
showMenu(e);
}
private void showMenu(MouseEvent e) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
});
}
}
最近研究swt,不知道有没有托盘功能。