gpt4 book ai didi

java - 将具有空布局的 JPanel 插入 JScroll

转载 作者:行者123 更新时间:2023-12-01 18:17:10 26 4
gpt4 key购买 nike

我有一个 JPanel (myPanel),里面有很多按钮(这个面板包含在另一个包含其他组件的面板中)。我会将这个 JPanel (myPanel) 插入到滚动条中以更好地控制按钮。

这是我的代码的一部分:

    JPanel firstPanel = new JPanel(null);
......
......
JPanel myPanel = new JPanel(null);
myPanel.setBounds(0, position+22, 400, 500);
for (int i=0; i<size; i++) {
JButton button = new JButton(myList.get(i));
if (counter%4 == 0) {
button.setBounds(270, 0+(4*i), 90, 18);
} else if (counter%3 == 0) {
button.setBounds(180, 4+(4*i), 90, 18);
} else if (counter%2 == 0) {
button.setBounds(90, 8+(4*i), 90, 18);
} else {
button.setBounds(0, 12+(4*i), 90, 18);
}
myPanel.add(bottone);
}
......
......
firstPanel.add(myPanel);

那么,我该如何将它插入到卷轴中呢?

最佳答案

您的问题似乎是在询问当 JPanel 使用 null 布局时如何将 JPanel 添加到 JScrollPane,答案很简单:

  • 首先,不要使用 null 布局。使用空布局几乎可以保证 JScrollPane 所持有的组件不会正确滚动,因为 JScrollPane 机制需要使用它。
  • 要么这样做,要么您将需要创建一个扩展 JPanel 并实现 Scrollable 接口(interface)的类,这将需要更多的工作,而且是完全不必要的工作。
  • 相反,您确实被迫学习如何使用布局管理器,然后使用适当的布局管理器组合来让您的 JPanel 保存并显示其组件。请注意,您可以嵌套 JPanel,每个 JPanel 使用自己的布局,从而轻松创建复杂但易于维护的 GUI。请查看layout manager tutorial了解更多相关信息。
  • 将 JPanel 添加到 JScrollPane 很容易。将 JPanel 传递到 JScrollPane 的构造函数中:JScrollPane scrollpane = new JScrollPane(myPanel); 或通过 setViewportView(myPanel) 将 JPanel 传递到 JScrollPane 的视口(viewport) View 中。这是JScrollPane tutorial有关更多信息,请访问 general Swing tutorials

关于java - 将具有空布局的 JPanel 插入 JScroll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28909148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com