JMenuはマウスでマウスをクリックすると正しく動作します。JTreeにフォーカスがあるときにJMenuがJTreeの後ろに表示されますか?
(ノーマル)私は離れて私のマウスをクリックして、それが消えます。 私はJTreeの唯一のエントリをダブルクリックします。
私のJMenuをクリックすると、次のようになります。それはJTreeの後ろに現れますか?
ウィンドウのサイズを変更すると、通常の状態に戻ります。 JTreeに再度フォーカスが当たるまで。
これは私のコードは、私はJFrameのをサブクラスてるように見えると、このコードは、あなたがSwingとAWTの成分を混合しているコンストラクタ
Container cp = getContentPane();
//1. menu
JMenuBar menu = new JMenuBar();
//...
cp.add(menu, BorderLayout.NORTH);
//2. split pane
JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
//...
{
//3a. scrollpane (left)
ScrollPane treeView = new ScrollPane();
treeView.setMinimumSize(new Dimension(0,0));
sp.add(treeView, JSplitPane.LEFT);
{
//3ai. treeview
tree = new ObjectTree();
treeView.add(tree);
}
//3b. scrollpane (right)
ScrollPane tabView = new ScrollPane();
tabView.setMinimumSize(new Dimension(0,0));
sp.add(tabView, JSplitPane.RIGHT);
{
//3bi tabview
ObjectTabPane view = new ObjectTabPane();
tabView.add(view);
}
}
cp.add(sp, BorderLayout.CENTER);
this.setSize(700, 500);
フォーカスを失ったときにメニューを実際に閉じてはいけませんか? – Thomas
フォーカスを失ったときに閉じます。しかし、私がJtree上の唯一の項目をクリックしたら、メニューをもう一度クリックしてください。今メニューにはフォーカスがありますが、ツリーの背後にあります –
JMenuBarはコンテンツペインに表示されません – Neifen