Java Swing:当文本字段超出滚动窗格视图范围时允许滚动
Java Swing: Allow scroll when textfields are out out of range of scrollpane's view
我有一个带滚动窗格 scrlPnAddServer
的选项卡式窗格 tabbedPane_1
,视口视图设置为 pnlAddServer
。我如何在滚动窗格的可视部分下方添加文本字段或其他项目。 (并允许用户向下滚动以查看项目)目前,项目在超出范围时不会显示。
JTabbedPane tabbedPane_1 = new JTabbedPane(JTabbedPane.TOP);
tabbedPane_1.setBounds(672, 20, 350, 400);
panel.add(tabbedPane_1);
JPanel tab = new JPanel();
tabbedPane_1.add("Build", tab);
tab.setLayout(null);
JPanel tab2 = new JPanel();
tabbedPane_1.add("More...", tab2);
tab2.setLayout(null);
JScrollPane scrlPnAddServer = new JScrollPane();
scrlPnAddServer.setBounds(0, 0, 350, 370);
tab2.add(scrlPnAddServer);
scrlPnAddServer.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JPanel pnlAddServer = new JPanel();
pnlAddServer.setBounds(0, 0, 350, 370);
scrlPnAddServer.setViewportView(pnlAddServer);
pnlAddServer.setLayout(null);
然后我添加我希望用户向下滚动查看的项目:
tfSaveAs = new JTextField("Save As");
tfSaveAs.setBounds(10, 600, 125, 20);
pnlAddServer.add(tfSaveAs);
tfSaveAs.setColumns(10);
使用适当的布局管理器,该管理器能够计算 uired 信息,JScrollPane
用来决定是否显示滚动条。
这只是布局管理 API 提供的众多 "auto magical" 方面之一
避免使用 null
布局,像素完美布局是现代 ui 设计中的一种错觉。影响组件个体大小的因素太多,none 是您可以控制的。 Swing 旨在与核心的布局管理器一起工作,丢弃这些将导致无穷无尽的问题和问题,您将花费越来越多的时间来尝试纠正
有关详细信息,请参阅 Laying Out Components Within a Container
我有一个带滚动窗格 scrlPnAddServer
的选项卡式窗格 tabbedPane_1
,视口视图设置为 pnlAddServer
。我如何在滚动窗格的可视部分下方添加文本字段或其他项目。 (并允许用户向下滚动以查看项目)目前,项目在超出范围时不会显示。
JTabbedPane tabbedPane_1 = new JTabbedPane(JTabbedPane.TOP);
tabbedPane_1.setBounds(672, 20, 350, 400);
panel.add(tabbedPane_1);
JPanel tab = new JPanel();
tabbedPane_1.add("Build", tab);
tab.setLayout(null);
JPanel tab2 = new JPanel();
tabbedPane_1.add("More...", tab2);
tab2.setLayout(null);
JScrollPane scrlPnAddServer = new JScrollPane();
scrlPnAddServer.setBounds(0, 0, 350, 370);
tab2.add(scrlPnAddServer);
scrlPnAddServer.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JPanel pnlAddServer = new JPanel();
pnlAddServer.setBounds(0, 0, 350, 370);
scrlPnAddServer.setViewportView(pnlAddServer);
pnlAddServer.setLayout(null);
然后我添加我希望用户向下滚动查看的项目:
tfSaveAs = new JTextField("Save As");
tfSaveAs.setBounds(10, 600, 125, 20);
pnlAddServer.add(tfSaveAs);
tfSaveAs.setColumns(10);
使用适当的布局管理器,该管理器能够计算 uired 信息,JScrollPane
用来决定是否显示滚动条。
这只是布局管理 API 提供的众多 "auto magical" 方面之一
避免使用 null
布局,像素完美布局是现代 ui 设计中的一种错觉。影响组件个体大小的因素太多,none 是您可以控制的。 Swing 旨在与核心的布局管理器一起工作,丢弃这些将导致无穷无尽的问题和问题,您将花费越来越多的时间来尝试纠正
有关详细信息,请参阅 Laying Out Components Within a Container