gpt4 book ai didi

Java Swing : Allow scroll when textfields are out out of range of scrollpane's view

转载 作者:行者123 更新时间:2023-12-02 03:43:51 25 4
gpt4 key购买 nike

我有一个带有滚动 Pane scrlPnAddServer 的选项卡式 Pane tabbedPane_1,其视口(viewport) View 设置为 pnlAddServer。如何在滚动 Pane 的可视部分下方添加文本字段或其他项目。 (并允许用户向下滚动以查看项目)目前,项目在超出范围时不会显示。

        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);

最佳答案

利用适当的布局管理器,它能够计算使用 JScrollPane 所需的信息来决定是否应该显示滚动条。

这只是布局管理 API 提供的众多“自动神奇”方面之一

避免使用 null 布局,像素完美布局是现代 UI 设计中的一种幻觉。影响组件个体尺寸的因素太多,您无法控制其中任何一个。 Swing 的设计初衷是与布局管理器一起工作,放弃它们将导致无穷无尽的问题,您将花费越来越多的时间来尝试纠正

参见Laying Out Components Within a Container了解更多详情

关于Java Swing : Allow scroll when textfields are out out of range of scrollpane's view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36522456/

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