java swing最简单实例(1) 一个空的JFrame

我准备写一个系列的java图形化界面的教程。每个程序都尽量只写维持运行所需的最简化程度的代码,好让大家都看懂。

 

使用java图形界面只需要jdk,eclipse即可。如果布局抽象能力不够强大,建议装jigloo先用它布局然后再抄代码。(jigloo自动生成的代码冗余量太大,放的位置也不合理,只是为了看效果,之后还是需要ctrl+C,ctrl+V的)

 

要想放置一切东西,我们需要先有一个JFrame。所以就先讲一讲怎样创建一个空的JFrame。

 

下面是一个最简单的例子,首先我们需要extends JFrame,这样当前类自己就是一个JFrame了。然后在函数中创建当前类的对象,就是创建一个JFrame了。代码按照从上到下的顺序逐条阅读即可。

package basicCompoment;  
  
import javax.swing.JFrame;  
import javax.swing.WindowConstants;  
  
public class EmptyJFrame extends JFrame{  
  
    public static void main(String[] args) {  
        //现在创建了一个对象,不过什么都显示不出来  
        EmptyJFrame f = new EmptyJFrame();  
        //加上这一句就可以显示一个仅有关闭,最小化,最大化的按钮的Frame了  
        f.setVisible(true);  
        //再加上这一句就可以显示一个在左上角,拥有指定大小的Frame了  
        f.setSize(300,400);  
        //再加上这一句就可以把Frame放在最中间了  
        f.setLocationRelativeTo(null);  
        //如果没有这一句,在点击关闭Frame的时候程序其实还是在执行状态中的,加上这一句才算是真正的把资源释放掉了  
        f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);  
    }  
}

通常将JFrame的创建放在SwingUtilities.invokeLater中,如下

package basicCompoment;  
  
import javax.swing.JFrame;  
import javax.swing.SwingUtilities;  
import javax.swing.WindowConstants;  
  
public class EmptyJFrame2 extends JFrame{  
    EmptyJFrame2(){  
        initGUI();  
    }  
    private void initGUI(){  
        setVisible(true);  
        setSize(300,400);  
        setLocationRelativeTo(null);  
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);  
    }  
    public static void main(String[] args) {  
        SwingUtilities.invokeLater(new Runnable() {  
            public void run() {  
                EmptyJFrame2 f = new EmptyJFrame2();  
            }                 
        });  
    }  
}

 

posted @ 2016-09-16 09:25  门罗的魔术师  阅读(711)  评论(0编辑  收藏  举报