Java 我如何展示jpanel?
我制作了一个电影院系统。我把电影和电影院放在一个表格里。我还想给电影院看电影。电影剧场的座位是用朱布顿做的,我把这些座位放在一个jpanel里 选择电影院后,我如何显示座位 这是我的密码Java 我如何展示jpanel?,java,swing,jframe,Java,Swing,Jframe,我制作了一个电影院系统。我把电影和电影院放在一个表格里。我还想给电影院看电影。电影剧场的座位是用朱布顿做的,我把这些座位放在一个jpanel里 选择电影院后,我如何显示座位 这是我的密码 final ArrayList<JPanel> panels = new ArrayList<>(); for(int k=0;k<theater.size();k++){ JPanel panel = new JPanel(); pan
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);
}
final ArrayList panels=new ArrayList();
对于(int k=0;k不要使用setBounds()
方法,而是将其留给布局管理器来设置组件的大小和位置,这就是为什么制作它的原因
为此设计使用适当的布局,例如,等
了解更多关于布局的信息
不要直接在JFrame
的内容窗格中添加组件,而是首先在另一个容器(如JPanel
中添加组件,然后最后将其添加到JFrame
的内容窗格中。这里的contentPane
是什么?它在JFrame中。这并不重要。发布之前,您无法知道什么是重要的(最小完整且可验证的示例)。很可能您正在使用null
layout?是的,您是对的。@BrajCan我可以只为jpanel使用网格布局吗?当然可以。如果它符合您的设计,那么请阅读更多关于它的信息,然后使用它并删除所有setBounds
方法。但我想在jFrame的右侧执行此操作。没有setBounds()我怎么做?您可以使用多个容器,例如JPanel
以适当的布局在其中添加组件。除非我有完整的可测试代码,否则我无法帮助您。