new JFrame で生成する

JFrame(Swing) を生成してウインドウを表示します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. Swing を使って new JFrame で Window を生成する方法です。
    //★ JFrame で Window を表示    前田 稔
    import javax.swing.*;
    
    public class JFrameNew
    {   private JFrame jframe;
    
        // Main()
        public static void main(String argv[])
        {   new JFrameNew();
        }
    
        // Constructor
        public JFrameNew()
        {   jframe = new JFrame("View JFrame");
            jframe.setSize(400,300);
            jframe.setVisible(true);
        }
    }
    

プログラムの説明

  1. Swing を使用するので javax.swing.* をインポートします。
    JFrame jframe が JFrame のオブジェクト定義です。
    Swing では Frame に代えて JFrame を使います。
        import javax.swing.*;
        public class JFrameNew
        {   private JFrame jframe;
        
  2. main() で行う処理は new JFrameNew() で JFrameNew Class をインスタンス化するだけです。
        // Main()
        public static void main(String argv[])
        {   new JFrameNew();
        }
        
  3. コンストラクタでは new JFrame("View JFrame") で JFrame をインスタンス化します。
    jframe.setVisible(true) で JFrame を表示します。
        // Constructor
        public JFrameNew()
        {   jframe = new JFrame("View JFrame");
            jframe.setSize(400,300);
            jframe.setVisible(true);
        }
        
  4. JFrame(Swing) は Frame(AWT) の拡張型でよく似ていますが、幾つかの点でプログラム方法に違いがあります。

プログラムの作成

  1. Constructor を使わずに main() で直接 JFrame(Swing) を生成する方法です。
    //★ Constructor を使わずに Window を表示    前田 稔
    import javax.swing.*;
    
    public class JFrameDirect
    {
        // Main()
        public static void main(String argv[])
        {   JFrameDirect app = new JFrameDirect();
            JFrame jframe = new JFrame("View Frame");
            jframe.setSize(400,300);
            jframe.setVisible(true);
        }
    }
    

プログラムの説明

  1. new JFrameDirect() で JFrameDirect をインスタンス化します。
    続いて new JFrame("View Frame") で JFrame をインスタンス化します。
    jframe.setVisible(true) で JFrame を表示します。
        public static void main(String argv[])
        {   JFrameDirect app = new JFrameDirect();
            JFrame jframe = new JFrame("View Frame");
            jframe.setSize(400,300);
            jframe.setVisible(true);
        }
        
  2. main() で直接生成すると、ソースコードが短くて簡単なようですが、色々な問題も発生します。
    またこの方法は「スレッド安全性上お勧め出来ない」の記述を見かけたことがあります。

超初心者のプログラム入門(Java2)