gpt4 book ai didi

java - JTree 获得焦点时 JMenu 出现在 JTree 后面?

转载 作者:行者123 更新时间:2023-11-30 06:34:07 26 4
gpt4 key购买 nike

当我在 JMenu 上单击鼠标时,它可以正常工作。

before

我将鼠标移开,它就消失了(正常)。然后我双击我的 JTree 中唯一的条目。

然后,当我单击我的 JMenu 时,它看起来像这样。它出现在 JTree 后面??? after

当我调整窗口大小时,它恢复正常。直到 JTree 再次获得焦点。

这就是我的代码的样子,我正在对 jframe 进行子类化,并且这段代码在构造函数中

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);

最佳答案

您正在混合使用 Swing 和 AWT 组件。不要这样做,因为它会导致您面临的问题。使用 JScrollpane 而不是 ScrollPane

关于java - JTree 获得焦点时 JMenu 出现在 JTree 后面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7400918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com