import java.awt.Color;
import javax.swing.*;
class apples{
public static void main(String args[]) {
// creating black background
JFrame start = new JFrame("TatteredLands");
start.getContentPane().setVisible(true);
start.getContentPane().setBackground(Color.black);
}
}
是不是因为,我必须设置框架的大小或者这不起作用的东西?
答案 0 :(得分:1)
不要将内容窗格设置为可见,请将框架设置为可见。没有实际框架,内容框架就没有了。
start.setVisible(true);
此外,优选不设置帧的大小。而是调用start.pack()
,这将打包框架以尊重添加到框架中的所有组件的首选大小。
答案 1 :(得分:1)
基本上,您需要确保将框架本身设置为可见,默认情况下为false
。
JFrame
基本上只是Component
的一种特殊类型,所以就像你可以看到Component
一样,框架也是如此......
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
// creating black background
JFrame start = new JFrame("TatteredLands");
start.getContentPane().setVisible(true);
start.getContentPane().setBackground(Color.black);
start.pack();
start.setLocationRelativeTo(null);
start.setVisible(true);
}
}
}
还应该查看Initial Threads并确保在Event Dispatching Thread的上下文中启动UI
我还建议花些时间阅读Creating a GUI With JFC/Swing
答案 2 :(得分:0)
我建议如果你是Java新手,你下载了一个像Eclipse这样的IDE,他们会让你看到对象包含哪些方法,我是否要解释会节省多少麻烦?
JFrame的内容窗格是其中的内容,通常称为“容器”,因此您在错误的对象上调用setVisible()
。你想要start.setVisible(true)
。
答案 3 :(得分:0)
您应该将JFrame
设置为start.setVisible(true);
答案 4 :(得分:0)
JFrame start = new JFrame("TatteredLands");
start.setVisible(true);
start.setBounds(0, 0, width, height);
// add other initialization operations here...