在哪里设置 VERTICAL_SCROLLBAR_​​NEVER?

我对 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();

            }

        });

    }


犯罪嫌疑人X
浏览 189回答 2
2回答

梦里花落0921

您可以在创建新滚动窗格时将滚动条策略传递给构造函数。private final JScrollPane instanceScroll = new JScrollPane(instancesTable,                             ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER,                             ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);或者您可以保持构造函数调用不变,并在您的initComponents()方法中设置策略(例如)。instanceScroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);

皈依舞

您的 splitPane 的两个组件是左侧的 JScrollPane,右侧我们无法分辨,因为您没有包含该部分代码。从这两个屏幕截图中,我们只能猜测您对右侧没有滚动条的组件感兴趣。因此,如果是这种情况,您将不得不显示createNewPanel()代码,或者确实将正确的组件制作为没有滚动条的 JScrollPane。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java