Java > Swing


下位ページ

Content

流れ

  1. フレーム(=ウィンドウ)をつくる
  2. フレームにボタンなどを貼り付ける(加える)
    • フレーム←パネル←ボタン
  3. フレームを表示させる


フレーム(JFrame)

フレームの作成


   JFrame frame = new JFrame("タイトル");
   frame.setBounds(100, 100, 200, 160);
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setVisible(true);

  • 引数のないコンストラクタで作成された場合は、不可視である。
  • それを表示させるためにはsetVisibeleを使う

frame.setVisible(true); java.awt.Window から継承されたメソッド
setVisivle()

フレームの中のパネル(、パネルに貼り付けるボタンなど)をどのようにレイアウトするか?

frame.setLayout(LayoutManager manager)



パネル(JPanel)


http://www.geocities.jp/jetblackorange/Documentation/01_simpleFrame.htm
↑ここの言葉を借りて言えば「フレームが写真立て、パネルが写真」


ボタン(JButton)


  1. ボタンオブジェクトの生成
  2. パネルオブジェクトに貼り付ける(Panel.add())

ボタンをおした時の処理

流れ
  1. ボタンが押される
  2. イベントが発行される
  3. イベントを受け取る
    • ボタン側にaddActionListenerメソッドを実行(処理する「クラス」を登録する)
    • 登録するクラスは、ActionListerクラスをインプリメント
      • 登録するクラスの中で、actionPerformedメソッドを実装
  4. 処理を実行する

ボタンのラベルの改行

<html>...<br/>...</html>
でできる。他の方法もあるんだろうが。

ラベル(JLabel)


テキストの表示

JLabel

少し別格なのか?通常の状態では改行が効かない。htmlとして、brで改行を書くと効くとか書いてあった。

JTextArea

プレーンなテキストを複数行表示できる。
http://www.javadrive.jp/tutorial/jtextarea/

JTextPane


イベント処理



イベント処理の方法

ActionListenerをimplementsしたクラスで、actionPerformedをオーバーライドする。
actionPerformed(ActionEvent e)

複数のボタンなどの部品に対して、一つのクラスでイベント処理をする場合には、どの部品から呼びだされたイベントかを識別する方法について処理する方法を記述する必要がある。
String str = actionevent.getActionCommand();


レイアウト



ダイアログを簡単に表示する

JOptionPane
JOptionPane
static で shorMessageDialogというものが準備されている
最終更新:2015年10月18日 13:30