为了账号安全,请及时绑定邮箱和手机立即绑定

在哪里设置 VERTICAL_SCROLLBAR_​​NEVER?

在哪里设置 VERTICAL_SCROLLBAR_​​NEVER?

犯罪嫌疑人X 2022-01-06 17:07:00
我对 Java 很陌生,所以请放轻松。经过大量研究,我相信我明白该JScrollPane选项默认显示滚动条。我正在尝试在某些现有代码中更改此行为。我相信默认值只需要更改为VERTICAL_SCROLLBAR_NEVER. 但是,我很难确定它在代码中的设置位置。有人可以帮我看看这个属性的设置位置(或者我是否在正确的轨道上)?这是我认为与此问题相关的代码段。滚动条出现在拆分窗格窗口的右侧。我想永久隐藏这一点。public class LauncherFrame extends JFrame {    private final Launcher launcher;    @Getter    private final InstanceTable instancesTable = new InstanceTable();    private final InstanceTableModel instancesModel;    @Getter    private final JScrollPane instanceScroll = new JScrollPane(instancesTable);    private WebpagePanel webView;    private JSplitPane splitPane;    private final JButton launchButton = new JButton(SharedLocale.tr("launcher.launch"));    private final JButton refreshButton = new JButton(SharedLocale.tr("launcher.checkForUpdates"));    private final JButton optionsButton = new JButton(SharedLocale.tr("launcher.options"));    private final JButton selfUpdateButton = new JButton(SharedLocale.tr("launcher.updateLauncher"));    private final JCheckBox updateCheck = new JCheckBox(SharedLocale.tr("launcher.downloadUpdates"));    public LauncherFrame(@NonNull Launcher launcher) {        super(tr("launcher.title", launcher.getVersion()));        this.launcher = launcher;        instancesModel = new InstanceTableModel(launcher.getInstances());        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);        setSize(new Dimension(615, 322));        setResizable(false);        initComponents();        setLocationRelativeTo(null);        SwingHelper.setFrameIcon(this, Launcher.class, "icon.png");        SwingUtilities.invokeLater(new Runnable() {            @Override            public void run() {                loadInstances();            }        });    }
查看完整描述

2 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

您可以在创建新滚动窗格时将滚动条策略传递给构造函数

private final JScrollPane instanceScroll = new JScrollPane(instancesTable, 
                           ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER, 
                           ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);

或者您可以保持构造函数调用不变,并在您的initComponents()方法中设置策略(例如)。

instanceScroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);


查看完整回答
反对 回复 2022-01-06
?
皈依舞

TA贡献1851条经验 获得超3个赞

您的 splitPane 的两个组件是左侧的 JScrollPane,右侧我们无法分辨,因为您没有包含该部分代码。

从这两个屏幕截图中,我们只能猜测您对右侧没有滚动条的组件感兴趣。

因此,如果是这种情况,您将不得不显示createNewPanel()代码,或者确实将正确的组件制作为没有滚动条的 JScrollPane。


查看完整回答
反对 回复 2022-01-06
  • 2 回答
  • 0 关注
  • 185 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信