[英]Swing JMenu acting strange
我最近開始在java中使用swing(使用eclipse WindowBuilder)制作類似掃雷的游戲,並且在應用程序中有一個帶有JMenu的普通JFrame,其中包含選項。 它可以正常工作,直到調整窗口大小。 然后,當我點擊菜單顯示它時,它只會顯示,直到我釋放鼠標按鈕,然后它消失,好像我點擊了其他地方。 但是當我通過鍵盤快捷鍵訪問菜單時,它可以正常工作。 有誰知道問題會在哪里? 菜單代碼:
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或eclipse中,因為即使是最簡單的程序,比如我將在此處粘貼的代碼也有同樣的問題:
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 );
}
}
`(這是整個來源)
我正在使用Mint Cinnamon 13和Eclipse 4.2。 那么我有什么辦法可以解決這個問題嗎?
不幸的是, 它與Cinnamon的java問題 。 除非你,否則你無法避免它
關鍵是(afaik)Java應該區分在Linux中運行的大量窗口管理器, 但只識別其中的一些 - 在這個特定問題中不是Cinnamon。
更難過的是:問題似乎也出現在Mate身上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.