Java 为什么我的Swing GUI没有显示添加的所有按钮?
有人能告诉我为什么我的JavaSwingGUI没有显示框架上添加的所有按钮吗?当我添加5个按钮时,它只显示其中的4个,如果我添加4个按钮,它只显示其中的3个 请让我知道这有什么问题 我还试图在面板上添加它们,但是GUI没有显示一个Java 为什么我的Swing GUI没有显示添加的所有按钮?,java,swing,jframe,layout-manager,Java,Swing,Jframe,Layout Manager,有人能告诉我为什么我的JavaSwingGUI没有显示框架上添加的所有按钮吗?当我添加5个按钮时,它只显示其中的4个,如果我添加4个按钮,它只显示其中的3个 请让我知道这有什么问题 我还试图在面板上添加它们,但是GUI没有显示一个 package p2; import java.awt.Color; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Gu
package p2;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Gui extends JFrame {
public Gui(){
//Frame
JFrame fr=new JFrame("Calculator");
//Panel
JPanel p=new JPanel();
p.setBounds(10, 10, 200, 200);
p.setBackground(Color.cyan);
//Button
JButton b1=new JButton("Button 1");
b1.setBounds(20, 20, 40, 30);
JButton b2=new JButton("Button 2");
b2.setBounds(20, 80, 40, 30);
fr.add(p);
p.add(b1);p.add(b2);
fr.setVisible(true);
fr.setSize(300, 400);
fr.setLayout(null);
}
public static void main(String[] args) {
new Gui();
}
}
首先:不要使用“null”布局。但当您使用任何布局时,必须在添加任何组件之前对其进行设置 要解决您的问题,只需向上移动
fr.setLayout(null)
这是因为以下几行:
fr.setLayout(null);
只要删除它,它就会工作。代码中只有两个按钮,这就是一个例子。我的问题总是出现;所以,请在您的系统中运行它,并告诉我最近我更改了fr.setVisible(true)的位置有什么问题;到最后一段代码,现在它运行正常,这是否意味着setVisible()位置也很重要?好的,谢谢您,先生。。。现在我明白了。这是正确的答案。Java GUI必须在不同的操作系统、屏幕大小、屏幕分辨率等上工作,在不同的地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或与布局填充和边框一起使用。
fr.setLayout(null);