【发布时间】:2013-10-04 20:39:08
【问题描述】:
这是我第一次在 Swing 上工作。可能我做错了什么。
我有一个选项卡式 UI,其中每个选项卡都是 JPanel(此选项卡已添加到 JTabbedPane)。我根据用户输入在JPanel 中添加JTextFields 的数量。我需要 JPanel 可以滚动。我尝试了以下解决方案:
- 将
Jscrollpane添加到Tab - 将新的
Jpanel innerPanel添加到JscrollPane - 将所有文本字段添加到
innerPanel
没有显示文本字段。
public Tab extends JPanel {
private TipTailoringTab() {
JPanel innerPanel =new JPanel();
int y_cord = 20;
for (int i = 0; i < USER_INPUT; i++) {
JTextField TextField = new JTextField();
TextField.setBounds(42, y_cord, 100, 20);
innerPanel.add(TextField);
y_cord = y_cord + 40;
}
Dimension preferredSize = new Dimension(400, 600);
innerPanel.setPreferredSize(preferredSize);
JScrollPane sPane = new JScrollPane(innerPanel);
Dimension preferredSize1 = new Dimension(400, 300);
sPane.setPreferredSize(preferredSize1);
this.add(sPane);
}
}
非常感谢任何帮助。
编辑
对于每个循环,我创建一个 TextField、一个 Slider、On Label。
当 n 很大时,我希望以下结构可以垂直滚动
TextField1 Slider1 Label1
TextField2 Slider2 Label2
TextFieldn 滑块标签
【问题讨论】:
-
1) 您需要学习如何使用布局管理器并最大限度地利用它们。 2) 您不想设置任何组件的边界,尤其是在使用默认 FlowLayout 的 JPanel 上。 3)如果仍然卡住,创建并发布sscce。
-
与 Hovercraft 一致,scoll 窗格严重依赖于视图布局生成的信息
-
我已经准备好及时提交了,但我今天已经提交了,这是唯一剩下的部分。当前解决方案是否有解决方法?我将重新审视并改进我的解决方案。
-
标签中的文本字段应该如何对齐?
-
TextFields 要垂直对齐。每行将有一个文本字段、一个滑块和一个标签。
标签: java swing jpanel jscrollpane jtabbedpane