java - 当 JComboBox 位于 JLayeredPane 中的 JFreeChart 上方时消失

标签 java swing jfreechart jcombobox jlayeredpane

我有一个 JPanel,它有一个 JLayeredPaneJLayeredPane 有一个 JPanel,它有一个 BoxLayout 并保存一个 JFreeChartJLayeredPane 还有一个 JComboBox;见下图。

enter image description here

Graph 对象在运行时添加到 chartHolder 中。

当我运行应用程序时,comboBox 显示正确。将graph对象添加到chartHolder后,combobox停止渲染。仅显示图表。

如果我单击组合框所在的区域,下拉列表和组合框将变得可见。如果我单击图表以关闭下拉列表,组合框将再次消失。

jLayeredPane 中的

chartHolder --> DEFAULT_LAYER comboBox --> jLayeredPane 中的Pallette_Layer

根据我提供给 JLayeredPane 的顺序,组合框应始终呈现在图表上方。

问题是什么?

最佳答案

How to Use Layered Panes: Laying Out Components in a Layered Pane提到“默认情况下,分层 Pane 没有布局管理器。”您必须验证是否设置了每个组件的位置和大小,如图 here 所示。使用setBounds()。 ChartPanel从父类 JPanel 继承 FlowLayout , 默认情况下;带有 BoxLayout 的周围 chartHolder 可能是多余的。

image

关于java - 当 JComboBox 位于 JLayeredPane 中的 JFreeChart 上方时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036805/

相关文章:

java - 如何以编程方式为 hadoop *-site.xml 设置目录

java - 修复 JavaFX 折线图中不同系列之间的间距

java - Java GUI 中的数组反序列化问题

从 mysql 填充 JTable 的 java.lang.NullPointerException 错误

java - 为什么我的 JSlider 或 JLabel 不会出现在框架上的任何位置?

java - 如何在 jfreechart、netbeans 中调整此图表的大小?

java - JFreeChart XY 图上的图标

java - 带有时间范围轴的 JFreeChart

java - 尝试连接到 Wildfly 10.1 上的 EJB 并获取 : Session id hasn't been set for stateful component

java - 如何在 Swing 中创建翻转按钮