JWindow を継承する

JWindow を継承して Box を描画します。
タイトルバーも枠も無いので、終了する手段が必要です。

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

プログラムの作成

  1. JWindow(Swing) を継承して矩形を描画する方法です。
    //★ JWindow を継承する    前田 稔
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    
    public class App extends JWindow
    {
        // Main()
        public static void main(String argv[])
        {   new App();
        }
    
        // Constructor
        public App()
        {   setSize(200, 100);
            setLocation(200, 200);
            addMouseListener(new MouseAdapter()
            {   public void mouseClicked(MouseEvent e)
                {   System.exit(0);
                }
            });
            show();
        }
    
        //public void paintComponent(Graphics g)
        public void paint(Graphics g)
        {   g.setColor(Color.red);
            g.drawRect(10,10,120,50);
        }
    }
    
  2. java のソースファイルをコンパイルして class オブジェクトを実行して下さい。
    マウスをクリックするとプログラムが終了します。

プログラムの説明

  1. javax.swing.* と java.awt.* をインポートして下さい。
    タイトルバーも枠も無いので、マウスのクリックで終了します。
    マウスのクリックを検出するので java.awt.event.* をインポートして下さい。
    extends で JWindow を継承します。
        import java.awt.*;
        import javax.swing.*;
        import java.awt.event.*;
        public class App extends JWindow
        {
        
  2. main() では App Class(このプログラム自信) をインスタンス化(生成)するだけです。
        // Main
        public static void main(String args[])
        {   new App();
        }
        
  3. コンストラクタでは setSize() で Window の大きさを設定します。
    setLocation(200, 200) は Window を表示する座標です。
    addMouseListener() でマウスのクリックを検出して終了します。
    show() で JWindow を表示します。
        // Constructor
        public App()
        {   setSize(200, 100);
            setLocation(200, 200);
            addMouseListener(new MouseAdapter()
            {   public void mouseClicked(MouseEvent e)
                {   System.exit(0);
                }
            });
            show();
        }
        
  4. paint() では赤色の矩形を描画します。
        // Paint Method
        public void paint(Graphics g)
        {   g.setColor(Color.red);
            g.drawRect(30,40,120,50);
        }
        

プログラムの作成

  1. JWindow を継承して Constructor を使わずに作成します。
    //★ JWindow を継承する(Constructor 無し)    前田 稔
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    
    public class AppDirect extends JWindow
    {
        // Main()
        public static void main(String argv[])
        {   AppDirect app = new AppDirect();
            app.setSize(200, 100);
            app.setLocation(200, 200);
            app.addMouseListener(new MouseAdapter()
            {   public void mouseClicked(MouseEvent e)
                {   System.exit(0);
                }
            });
            app.show();
        }
    
        //public void paintComponent(Graphics g)
        public void paint(Graphics g)
        {   g.setColor(Color.red);
            g.drawRect(10,10,120,50);
        }
    }
    
  2. 説明は先のプログラムを参照して下さい。
    今回は JWindow(Swing) を使いましたが、Window(AWT) でも同様に作成できると思います。

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