在Java中创建可见框架?

时间:2014-01-15 05:50:39

标签: java swing

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);

}

}

是不是因为,我必须设置框架的大小或者这不起作用的东西?

5 个答案:

答案 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...