在jscroll窗格中调整jscroll中画布问题的大小

在jscroll窗格中调整jscroll中画布问题的大小

我正在使用NetBeansGUI编辑器创建一个应用程序,在该编辑器中,我希望有一个JSplitPane,其顶部的组件将是CanvasJScrollPane底部的组件将是JTextArea或者诸如此类的东西。

当我向下拉除法器,从而增加顶部组件的大小时,一切似乎都调整得很好。

当我试图将分隔符向上推时,问题就出现了:分隔符似乎在Canvas(也许在JScrollPane)。

我尝试过各种首选/最小/最大尺寸的组合。JScrollPaneCanvas但似乎什么都起不到作用。

这是NetBeans生成的代码中可能与当前问题有关的部分:

jSplitPane1 = new javax.swing.JSplitPane();jScrollPane1 = new javax.swing.JScrollPane();canvas1 = new java.awt.Canvas();
jTextField1 = new javax.swing.JTextField();jSplitPane1.setDividerLocation(300);
jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
jScrollPane1.setViewportView(canvas1);jSplitPane1.setTopComponent(jScrollPane1);
jTextField1.setText("jTextField1");jSplitPane1.setRightComponent(jTextField1);

由于这是我的第一个问题,所以我不允许在问题中嵌入图像,所以我将只发布链接:


红色箭头表示分隔符的位置。

提前谢谢你的时间。


阿晨1998
浏览 481回答 3
3回答

摇曳的蔷薇

在阅读了davidbuzatto的评论后,我在google上搜索了关于混合AWT和Swing组件的内容,发现这是一种很糟糕的做法,这让我有点惊讶。我对我的问题找到了最准确的答案。这里重量级部件有自己的Z顺序。这就是Swing和AWT不能组合在一个容器中的原因。如果是,AWT组件将绘制在Swing组件的顶部。例如:当AWT组件与JtabbedPane一起使用时,当选项卡被切换时,它们不会消失。谢谢davidbuzatto给我指路:-)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java