JMenu를 마우스로 클릭하면 올바르게 작동합니다.JTree에 포커스가있을 때 JMenu가 JMenu 뒤에 표시됩니까?
(정상) 나는 멀리 내 마우스를 클릭하고 사라집니다. 그런 다음 JTree에서 유일한 항목을 두 번 클릭합니다.
그런 다음 내 JMenu를 클릭하면 다음과 같이 보입니다. JTree 뒤에 나타납니다 ???
창 크기를 조정하면 정상으로 돌아갑니다. JTree에 다시 집중할 때까지.
이 내 코드는, 내가 JFrame의 하위 클래스를 것 같은 모습이 코드 당신은 스윙과 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가 contentpane에 없어야합니다. – Neifen