当前位置: 首页 > 知识库问答 >
问题:

JScrollpane不会注意到另一个JScrollpane

臧令
2023-03-14

我有一个JFrame,它在JScrollPane中包含一个JSplitPane(因此,如果窗口很大,用户可以滚动)。JSplitPane包含作为顶部组件的JTabbedPane,以及作为底部组件的graphics。现在我想读一个。csv并在我的jtabbedpane中显示它。我可以使用第二个JScrollPane在列表中滚动。问题来了,当我在我的程序中导入。csv时,第一个JScrollPane似乎没有注意到有第二个JScrollPane用于滚动列表,然后我的窗口获得了大量可用空间来滚动。

JFrame frame = new JFrame();
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP, JTabbedPane.WRAP_TAB_LAYOUT);
JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
splitPane.setTopComponent(tabbedPane);
splitPane.setBottomComponent(graphics());
JScrollPane scrollPane = new JScrollPane(splitPane);
frame.add(scrollPane);
frame.setVisible(true);

当我导入。csv时,我向TabbedPane添加了一个新的JPanel。JPanel包含来自。csv的数据的列表

JPanel panel = new JPanel();
JScrollPane scrollPane = new JScrollPane(panel);
// here comes the code for the list
tabbedPane.add(scrollPane);

我希望你理解我的问题,这很难解释。

编辑:导入。csv前后的图片可以帮助您理解。

共有1个答案

令狐昂雄
2023-03-14

去掉第一个滚动窗格。将拆分窗格直接添加到框架使用的BorderLayout的中心。当框架调整大小时,所有空间都将分配给拆分窗格。

然后可以使用:

splitPane.setResizeWeight(1.0);

现在,当框架调整大小时,所有额外的空间都将转移到第二个组件。因此,该组件的滚动条将根据需要出现/消失。

 类似资料:
  • 我想在我的基本框架中添加一个带有JPanel的JScrollpane 如果我将带有的直接添加到中,就可以了。但是现在,当我将帧的大小减小到500像素以下时,变得更小,如第二张图片所示。 如何使JScrollPane工作?

  • 我在代码中找不到符号错误(符号:method)。 这是我的主页。java文件: 如何正确调用方法?有人能帮我吗?我是新来的Java。提前谢谢。

  • 我想把意图转移到Xamarin.Android中的另一个活动。基本上,我需要Intent.data和Intent.clipdata到另一个活动,所以我使用下面的代码来传输Intent,但我不知道检索它的正确方法。 下面是Main Activity中的代码 在第二活动中 如何在第二个活动中检索意图?

  • 我有一个JScrollPane,其中包含一个JPanel,该JPanel包含一组JPanels。 集合大小可以更改,这就是为什么我把它放在JScrollPane中的原因。 由于某种原因,无论我做什么,旋钮都不会出现在卷轴上。 正如您所看到的,主JPanel(预览)确实有一个布局。我读到如果布局为空,可能会发生这种情况。 有人知道怎么解决这个吗? null 这是我的代码:

  • 问题内容: 我对android非常陌生,我正在尝试将用户输入的数据(他们的名字)发送到另一个活动。过去,我可以使用Intent在活动之间发送单行代码,但是我无法解决如何向两个不同的TextView发送两个不同的字符串。 这是到目前为止我的MainActivity代码: 我第二项活动MainGame的代码: 当我运行它时,我得到了两个TextView中都为“ name2”添加的内容。我需要做些什么来

  • 这是否可能使Spring Security 3.2.7版成为可能。注销后释放重定向用户到另一个主机?我不能强迫它使用其他主机。我正在使用某种SSO访问系统,这可能是个问题。 示例:我的应用程序已在上启动http://myAppUrl:8080/webapp1/ 用户可以通过http://ssoAccess:80/webapp1/这就产生了真正的url,但在浏览器中,我仍然可以一直看到ssoAcce