Java JFrame不';t显示Jpanel';是的
我使用的是尺寸为800x600的JFrame。 我想做的是: 黑色面板内部还有两块其他面板,每个面板的尺寸为300x300 结果是黑色面板位于左侧(如图所示),红色面板位于中间,框架和面板之间顶部有一个间隙。另外,如果我移除黑色面板,右面板将填充整个框架 代码如下:Java JFrame不';t显示Jpanel';是的,java,swing,jframe,layout-manager,Java,Swing,Jframe,Layout Manager,我使用的是尺寸为800x600的JFrame。 我想做的是: 黑色面板内部还有两块其他面板,每个面板的尺寸为300x300 结果是黑色面板位于左侧(如图所示),红色面板位于中间,框架和面板之间顶部有一个间隙。另外,如果我移除黑色面板,右面板将填充整个框架 代码如下: //create the left part of the screen JPanel leftPanels = new JPanel(); leftPanels.setLayout(new GridLay
//create the left part of the screen
JPanel leftPanels = new JPanel();
leftPanels.setLayout(new GridLayout(2,1));
leftPanels.setSize(new Dimension(300,600));
// just to illustrate the 2 panels inside of the black panel.
//leftPanels.add(new JPanel());
//leftPanels.add(new JPanel());
//create the right part
JPanel rightPanel = new JPanel();
rightPanel.setSize(new Dimension(500,600));
rightPanel.setBackground(Color.red);
this.add(leftPanels);
this.add(rightPanel);
this.validate();
this.repaint();
有没有简单的方法来解决这个问题
我还尝试在JFrame上使用Gridlayout,但如果您试图将面板相对地设置为一个,则会得到两个面板,每个面板为400X600
this.getContentPane().setLayout(null);
然后你就可以完全地放置它们了。
有关详细信息:如果试图将面板相对设置为一个面板,请将框架布局设置为空
this.getContentPane().setLayout(null);
然后你就可以完全地放置它们了。
有关更多信息:首先,使用如下FlowLayout
setLayout(new FlowLayout(FlowLayout.LEFT));
其次,请为JPanel使用setPreferedSize而不是setSize
leftPanels.setPreferredSize(new Dimension(300,600));
我不知道什么是收银机,但看起来您没有将rightPanel添加到JFrame,所以请确保您添加了它。首先,像这样使用FlowLayout
setLayout(new FlowLayout(FlowLayout.LEFT));
其次,请为JPanel使用setPreferedSize而不是setSize
leftPanels.setPreferredSize(new Dimension(300,600));
我不知道什么是收银机,但看起来您没有将rightPanel添加到JFrame,因此请确保添加它。尝试将框架的布局设置为
null
。然后使用setBounds
定位面板。尝试将框架布局设置为null
。然后使用setBounds
定位面板。您从未添加过右面板对不起,我的问题,我没有正确复制它为什么不使用FlowLayout
?您从未添加过右面板对不起,我的问题,我没有正确复制它为什么不使用FlowLayout
?它不起作用,如果您移除黑色面板,右面板将填充框架,如果我在黑框中添加了一些内容,它会将其放置在中心1)Java GUI必须在不同的操作系统上工作,屏幕大小,屏幕分辨率等。在不同地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或与布局填充和边框一起使用。2) 在任何情况下,这都应该是一个注释。1)Java GUI必须在不同的操作系统、屏幕大小、屏幕分辨率等上工作,在不同的地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或与布局填充和边框一起使用。2) 无论如何,这应该是一个评论。请看(是的)长话短说。在这种情况下,最好重写getPreferredSize
方法,而不是调用setPreferredSize
。。但是+1是唯一正确的答案。请看(是的)。长话短说。在这种情况下,最好重写getPreferredSize
方法,而不是调用setPreferredSize
。。但是+1是唯一朝着正确方向前进的答案。