3
我最近開始在java中使用swing製作類似掃雷的遊戲(使用eclipse WindowBuilder),並且在應用程序中有一個帶有JMenu的普通JFrame,並帶有選項。它的工作原理應該是在調整窗口大小之前。然後,當我點擊菜單來顯示它時,它只顯示直到我釋放鼠標按鈕,然後消失,就好像我點擊了其他地方。但是當我通過鍵盤快捷方式訪問菜單時,它正常工作。有誰知道問題在哪裏? 代碼菜單:Swing JMenu表演奇怪
JMenu mnHelp = new JMenu("Help");
mnHelp.setMnemonic('h');
menuBar.add(mnHelp);
JMenuItem mntmControls = new JMenuItem("Controls");
mntmControls.setMnemonic('c');
mntmControls.setIcon(new ImageIcon(Main.class
.getResource("/org/img/menu-help.png")));
mnHelp.add(mntmControls);
JSeparator separator_1 = new JSeparator();
mnHelp.add(separator_1);
JMenuItem mntmAbout = new JMenuItem("About");
mntmAbout.setMnemonic('g');
mntmAbout.setIcon(new ImageIcon(Main.class
.getResource("/org/img/menu-about.png")));
mnHelp.add(mntmAbout);
編輯:
我做了一些實驗,事實證明這並非是因我的計劃什麼問題,但在Java或偏食代替,因爲即使是 `
package testpack;
import java.awt.Dimension;
import javax.swing.*;
public class Main {
public static void main(String[] args) {
JFrame jfr = new JFrame("");
jfr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar jmb = new JMenuBar();
JMenu jm = new JMenu("Hello");
JMenuItem jmi = new JMenuItem("Hi");
jm.add(jmi);
jmb.add(jm);
jfr.setJMenuBar(jmb);
jfr.setMinimumSize(new Dimension(400, 400));
jfr.setVisible(true);
}
}
'(這是整個源)
:喜歡它的代碼,我會在這裏貼有同樣的問題的一個簡單的程序我使用薄荷肉桂13和Eclipse 4.2。那麼有什麼我可以做的解決這個問題?
你能展示創建和設置JFrame的代碼嗎? –
爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)(而不是更多的「零碎和碎片」)。另外,SSCCE是否會包含任何AWT組件?它會涉及自定義渲染? –
不相關我認爲,但最好把擺動代碼放在事件派發線程中,就像[在這個HelloWorldSwing]中一樣(http://docs.oracle.com/javase/tutorial/displayCode.html?code=http:/ /docs.oracle.com/javase/tutorial/uiswing/examples/start/HelloWorldSwingProject/src/start/HelloWorldSwing.java)。 – Istao