疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

java swing实例一个空的JFrame


 

  使用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();

  }

  });

  }

  }