java - JPanel 放置在 JScrollPane 后面

标签 java swing jpanel mixing java-canvas

我有这段代码,其中 Canvas 是我创建的一个类,它扩展了 JPanel 它包含一个图像。但是当我使用它时,它不会将 Canvas 放置在 JScrollPane 之上,而是在其后面。为什么要这样做?

以下是 ScrollPanel 的创建方式:

imagePane.setBackground(new java.awt.Color(153, 153, 153));
imagePane.setBorder(null);
jSplitPane2.setRightComponent(imagePane);

这是我的面板在 ScrollPanel 中的位置

Canvas canvas = new Canvas();
canvas.setVisible(true);
canvas.setImage(file);
imagePane.setLayout(new GridBagLayout());
canvas.setSizeFromLoaded();
imagePane.add(canvas);
imagePane.repaint();

canvas 类不会对面板的放置做任何事情,它所做的只是构建和修改它。我确实有一个 JPanel ,它可以工作,但是一旦我用 JScrollPanel 将其切换出来,它就开始将 Canvas 放在它后面。

最佳答案

关于java - JPanel 放置在 JScrollPane 后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569945/

相关文章:

java - 对一对多关系对象的引用不会更新

java - java中的BitSet类

java - CPU 单核 : Need volatile or synchronized?

java - 如何在调整 JFrame 大小或最大化时使 JPanel 居中?

java - GridBagLayout 一半组件不可见

java - 如何使用java中的字符串分词器从字符串中逐个获取字符

java - 将setText() Swing 到在其他系统中不起作用的标签

java - 从 JcomboBox 获取参数

java - 在 JFrame 中 move JPanel

java - Java 中的居中面板