代码之家  ›  专栏  ›  技术社区  ›  CrazyProgrammer

Layout为空时ScrollBar不工作

  •  1
  • CrazyProgrammer  · 技术社区  · 11 年前

    当布局设置为空时,滚动条不会出现。如何使滚动条进入面板?还有其他方法可以实现吗?我想在 scrollPane

    import java.awt.Dimension;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    
    public class ScrollBarExample {
    
        public static void main(String... args) {
            JFrame frame = new JFrame();
            JPanel panel = new JPanel();
            panel.setLayout(null);
            for (int i = 0; i < 10; i++) {
                JButton jbutton = new JButton("Hello-" + i);
                jbutton.setBounds(i * 100, i*30, 100, 40);
                panel.add(jbutton);
            }
            JScrollPane scrollPane = new JScrollPane(panel);
            scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
            scrollPane.setBounds(50, 10, 320, 100);
            JPanel contentPane = new JPanel(null);
            contentPane.setPreferredSize(new Dimension(500, 400));
            contentPane.add(scrollPane);
            frame.setContentPane(contentPane);
            frame.pack();
            frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            frame.setVisible(true);
        }
    }
    
    1 回复  |  直到 11 年前
        1
  •  3
  •   Angelus    11 年前

    没有布局管理器,您需要手动设置面板的首选大小

    panel.setPreferredSize(new Dimension(500, 500));
    

    例如