new JWindow で生成する

JWindow(Swing) を生成してウインドウを表示します。
タイトルバーも枠も無いので、終了する手段が必要です。

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

プログラムの作成

  1. ウインドウはフレームとは異なり、アイコンやタイトルバーなどは一切サポートしていません。
    //★ JWindow を表示    前田 稔
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    
    public class JWindowNew
    {
        // Main()
        public static void main(String argv[])
        {   new JWindowNew();
        }
    
        // Constructor
        public JWindowNew()
        {   JWindow window = new JWindow();
            window.setSize(400, 300);
            window.setLocation(100, 100);
            window.addMouseListener(new MouseAdapter()
            {   public void mouseClicked(MouseEvent e)
                {   System.exit(0);
                }
            });
            window.show();
        }
    }
    

プログラムの説明

  1. java.awt.* と javax.swing.* をインポートします。
    マウスのクリックで終了するために java.awt.event.* をインポートします。
        import java.awt.*;
        import javax.swing.*;
        import java.awt.event.*;
        public class JWindowNew
        {
        
  2. main() では new JWindowNew() で JWindowNew Class をインスタンス化するだけです。
        // Main()
        public static void main(String argv[])
        {   new JWindowNew();
        }
        
  3. コンストラクタでは new JWindow() で JWindow Class をインスタンス化します。
    タイトルバーが無いのでマウスのクリックで終了するために MouseListener を設定します。
    window.show() で表示します。
        // Constructor
        public JWindowNew()
        {   JWindow window = new JWindow();
            window.setSize(400, 300);
            window.setLocation(100, 100);
            window.addMouseListener(new MouseAdapter()
            {   public void mouseClicked(MouseEvent e)
                {   System.exit(0);
                }
            });
            window.show();
        }
        

プログラムの作成

  1. Constructor を使わずに main() で直接生成します。
    ウインドウはフレームとは異なり、アイコンやタイトルバーなどは一切サポートしていません。
    //★ Constructor を使わずに JWindow を表示    前田 稔
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    
    public class JWindowDirect
    {
        // Main()
        public static void main(String argv[])
        {
            JWindow window = new JWindow();
            window.setSize(400, 300);
            window.setLocation(100, 100);
            window.addMouseListener(new MouseAdapter()
            {   public void mouseClicked(MouseEvent e)
                {   System.exit(0);
                }
            });
            window.show();
        }
    }
    
  2. 説明は先のプログラムを参照して下さい。
    main() で直接生成すると、ソースコードが短くて簡単なようですが、色々な問題も発生します。
    またこの方法は「スレッド安全性上お勧め出来ない」の記述を見かけたことがあります。

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