我怎样才能展示jpanel?

时间:2014-06-08 09:36:39

标签: java swing jframe

我制作了一个电影院系统。我把电影和电影院放在一个jTable中。我也试图展示电影院。由JButton制作的电影院座椅和我将这些座椅保持在jpanel中。

如何在电影院选择时展示座位?

这是我的代码。

final ArrayList<JPanel> panels = new ArrayList<>();


    for(int k=0;k<theater.size();k++){
        JPanel panel = new JPanel();
        panel.setBounds(500, 0, 500, 500);
        contentPane.add(panel);

        int y = theater.get(k).getCapacity();
        int x = 500/y;          

        for(int i=0;i<y;i++){
            for(int j=0;j<y;j++){
                JButton button = new JButton(letters[i]+numbers[j]);
                button.setBounds(500 + x*j, 0 + x*i, x-5, x-5);
                panel.add(button);
            }
        }
        repaint();
        panels.add(panel);      
    }

1 个答案:

答案 0 :(得分:1)

不要使用setBounds()方法,而是将其留给布局管理器来设置组件的大小和位置。

为此设计使用适当的布局,例如GridLayoutGridBagLayout等。

详细了解布局How to Use Various Layout Managers


不要直接在JFrame的内容窗格中添加组件,而是首先将组件添加到另一个容器中,例如JPanel,然后最后将其添加到JFrame中内容窗格。