【发布时间】:2012-11-26 17:24:59
【问题描述】:
我有这段代码,其中Canvas 是我创建的一个扩展JPanel 的类,它包含一个图像。但是当我使用它时,它不会将画布放在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 类不会对 Panel 的放置做任何事情,它所做的只是构建和修改它。我确实有一个JPanel 并且它工作,但是一旦我用JScrollPanel 切换它,它就开始将画布放在它后面。
【问题讨论】:
-
这是如何创建 ScrollPanel 的:
jSplitPane2.setRightComponent(imagePane);??? splitPane 还是 scrollPane?为了尽快获得更好的帮助,请发帖SSCCE -
imagePane = ScrollPane::jSplitPane2 = SplitPane::canvas = Panel
标签: java swing jpanel mixing java-canvas