Java JFrame不显示按钮或背景色
MyJava JFrame不显示按钮或背景色,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,MyJFrame未显示构造函数中设置的按钮或背景色。当我启动程序时,我只得到一个空白框。不确定代码有什么问题 //imports import javax.swing.*; import java.awt.*; import java.awt.event.*;; public class StartingTheCode{ JButton CalculateButton; JTextField Ans; JPanel p; JFrame f; publ
JFrame
未显示构造函数中设置的按钮或背景色。当我启动程序时,我只得到一个空白框。不确定代码有什么问题
//imports
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;;
public class StartingTheCode{
JButton CalculateButton;
JTextField Ans;
JPanel p;
JFrame f;
public static void main (String[] args){
new StartingTheCode();
}
//constructor
StartingTheCode(){
f = new JFrame("test");
f.setVisible(true);
f.setSize(600,600);
f.setLocationRelativeTo(null);
f.setResizable(false);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p = new JPanel();
p.setBackground(Color.BLUE); // not displaying blue background
CalculateButton = new JButton("+"); // should display button
CalculateButton.setSize(30,30);
CalculateButton.setLocation(5,5);
}
}
您没有将按钮或JPanel添加到任何内容,因此没有JFrame会神奇地显示它们 您应该通过其
add(…)
方法将JButton添加到JPanel,然后通过其add(…)
方法将JPanel添加到JFrame,并在设置JFrame可见之前执行此操作
最重要的是,你应该读这本书,因为我是根据经验说的,你不可能仅仅猜测这些东西。这些都在那里得到了很好的解释
另一方面,避免设置任何组件的大小,而是阅读有关使用布局管理器的教程部分,因为这将使您的代码大大简化和增强。您没有向任何内容添加按钮或JPanel,因此没有JFrame会神奇地显示它们 您应该通过其
add(…)
方法将JButton添加到JPanel,然后通过其add(…)
方法将JPanel添加到JFrame,并在设置JFrame可见之前执行此操作
最重要的是,你应该读这本书,因为我是根据经验说的,你不可能仅仅猜测这些东西。这些都在那里得到了很好的解释
另一方面,避免设置任何组件的大小,而是阅读有关使用布局管理器的教程部分,因为这将使您的代码大大简化和增强。您需要使用
p.add(calculateButton)
将calculateButton添加到JPanel中,并使用f.add(p)将面板添加到框架中
您需要使用p.add(calculateButton)
将您的calculateButton添加到JPanel中,并使用f.add(p)