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


 

你可能感兴趣的:(java,JFrame,swing)