我准备写一个系列的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();
}
});
}
}
原文:http://blog.csdn.net/shirenfeigui/article/details/38847535