【问题标题】:JScrollPane for arbitrary buttons任意按钮的 JScrollPane
【发布时间】:2023-01-02 21:18:15
【问题描述】:

在此站点上,我找到了一个很好的示例,说明如何将 JScrollPane 应用于 JButton 矩阵。下面提供了代码。

        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        int x = 10;
        int y = 5;
        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(x, y));
        for (int i = 0; i < x * y; i++) {
            JButton button = new JButton(String.valueOf(i));
            button.setPreferredSize(new Dimension(100, 20));
            panel.add(button);
        }
        JPanel container = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
        container.add(panel);
        JScrollPane scrollPane = new JScrollPane(container);
        f.getContentPane().add(scrollPane);

        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);

如果我希望我的按钮具有任意大小和任意位置并具有相同的滚动可能性,我该如何修改代码。非常感谢任何提示或建议。

【问题讨论】:

    标签: java jscrollpane


    【解决方案1】:

    这与另一个问题没有什么不同:您将包含所有 JButton 的 JPanel 放入 JScrollPane 的视口中。而已。关键将是持有按钮的 JPanel 使用的布局管理器。具体细节很重要,因为这些面板和布局将决定包含 jpanel 的首选大小,这将是滚动窗格的视口视图。

    您的问题的细节将取决于您放置的不规则按钮的具体细节,您没有告诉我们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多