我遇到了JMenu
弹出窗口的问题。它有时只能起作用。有时我根本不会得到一个java弹出窗口。有时我的文件和编辑选项完全丢失。这就是我的代码。
import javax.swing.*;
public class menu {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(400,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
JMenuBar mb = new JMenuBar();
JMenu file = new JMenu ("File");
mb.add(file);
JMenu edit = new JMenu("Edit");
mb.add(edit);
f.setJMenuBar(mb);
}
}
答案 0 :(得分:3)
只有在初始化核心UI后才在setVisible
上调用JFrame
...
JFrame f = new JFrame();
// Don't call this here...
//f.setVisible(true);
f.setSize(400,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
JMenuBar mb = new JMenuBar();
JMenu file = new JMenu ("File");
mb.add(file);
JMenu edit = new JMenu("Edit");
mb.add(edit);
f.setJMenuBar(mb);
// Call it here
f.setVisible(true);
此外,请确保仅在事件调度线程的上下文中创建/更新UI,有关详细信息,请参阅Initial Threads