Java 无法在JFrame上看到JPanel
我试图在JFrame上添加一个JPanel,但是我看不到面板。我还试图添加一个JTable到面板中,但在我可以让它工作之后。这是我的密码:Java 无法在JFrame上看到JPanel,java,swing,Java,Swing,我试图在JFrame上添加一个JPanel,但是我看不到面板。我还试图添加一个JTable到面板中,但在我可以让它工作之后。这是我的密码: import java.awt.BorderLayout; import javax.swing.*; import javax.swing.table.*; public class table { public table(){ JFrame frame = new JFrame(); frame.setLa
import java.awt.BorderLayout;
import javax.swing.*;
import javax.swing.table.*;
public class table
{
public table(){
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.setSize(500,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.add(panel, BorderLayout.CENTER);
frame.setVisible(true);
}
}
在另一个类中,我有以下代码:
public class Main {
public static void main(String[] args){
new table();
}
}
这里是JFrame的屏幕截图,没有JPanel(我想)。
如果您查看文档,您可能会注意到关于输入参数的注释 窗口将在可见之前进行验证 是将新组件添加到窗口时使其显示的关键。您有两个选择:
setVisible
的调用移动到代码末尾:
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.setSize(500,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.add(panel, BorderLayout.CENTER);
frame.setVisible(true);
不要忘记导入java.awt.Color代码>在这种情况下。尝试为面板提供背景色:
panel.setBackground(Color.BLUE);
移动
frame.setVisible(真)代码>到结尾。要么这样,要么在说了所有的话和做了所有的事之后重新验证它。在结尾添加那一行对我不起作用。为了更快地获得更好的帮助,请发布一个或。@MadPhysicast的建议应该是我和其他许多人提供的,基于上面看到的不可编译的代码片段。如果它不起作用,我们将需要查看其他情况,以便能够理解错误。请正确缩进代码。谢谢,但它似乎对我仍然不起作用-我尝试了验证和将setVisible移动到末尾。第二部分不必与边框布局一起使用。啊,是的,你是对的。我已经有一段时间没有和Swing合作了。谢谢你指出这一点
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.setSize(500,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setBackground(Color.RED);
frame.add(panel, BorderLayout.CENTER);
frame.setVisible(true);
panel.setBackground(Color.BLUE);