JAVA GUI プログラミング(基本)
java ide の定番って?・・・特に無いみたいです。
※訂正:Applet - Swing の順みたい・・・です。
軽く比較的単純なウィンドウ構成なら
ちょっと複雑な画面構成を伴うアプリケーションを作るなら Swing って感じ。
各部品の配置は数値指定になる。(NetBeeans を除く)
いまさら方眼紙とかいやなので、Dia ダイヤクラムなども使えそうだが、QCad が寸法線が引けて良さげな感じ。
(QCad は日本語による最新情報が薄い(ほぼ皆無)です。多分、時間食われます。)
▲上へ [ 編集 ]
JAVA GUI プログラミング
AWT (Abstract Windowing Tools)
- Java で GUIアプリを作成するためのクラスライブラリ。
- プラットフォームに似たウィンドウ構成。
- Swing より軽い。
AWT による Frame 表示の基本形
※注意:これ実行すると閉じれないウインドウが表示されます。import java.awt.*; // java.awt.* を import
public class MyFrame extends Frame { // Frame Class の SubClass 実装
public static void main(String [] args) {
new MyFrame();
}
MyFrame() { // Frame 表示
super("MyFrame"); // 親コンストラクタ呼出とタイトル名
setTitle("JAVA AWT"); // タイトル名の再設定
setSize(640,480); // Frame Size 指定
show(); // 表示
}
}
※これでは window が閉じれない・・ eclipse から起動した場合、eclipse を修了。
※「閉じる」ボタンで修了と非表示(常駐とか)汎用性を持たせるためか?
▲上へ [ 編集 ]
AWT による Frame 表示(閉じるボタン対応)
import java.awt.*;
import java.awt.event.*;
public class MyFrame extends Frame { // (1)
public static void main(String args[]) {
MyFrame app = new MyFrame("AWT MyFrame Window"); // (2)
app.addWindowListener( // (4)
new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
// setVisible(false); // 常駐で非表示にするなら・・・
}
}
);
app.setTitle("main::JAVA AWT"); // タイトル再設定など
app.setSize(640,480);
app.show();
}
public MyFrame(String title) { // (3)
super(title);
/*
--- Window の記述を纏めるなら、ここに置いても良い -------
this.addWindowListener( // (4)
new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
// setVisible(false);
}
}
);
setTitle("MyFrame::JAVA AWT");
setSize(640,480);
show();
------------------------------------------------------
*/
}
public void paint(Graphics g) {
g.drawString("(1)(2)(3)の 名称相違はエラーが出る?注意", 30, 50);
g.drawString("(4)は閉じるボタン使用時の定形文?・・・", 30, 65);
}
}
※ざっくり定形的に覚えるしかなさそう。(このへん結構面倒くさい)
※ざっくり、NetBeanse IDE 使うとこんなの手でコーディングしないで済む。
▲上へ [ 編集 ]
Java Swing
- AWT よりも新しい GUIコンポーネント。(AWT+α)
- プラットフォームに関係なく見栄えが変わらない。(設定次第)
- Look & Feel でほぼ吸収可能
- AWT より重いがより強力に画面構成を組める。
import java.awt.*; // これも必要
import javax.swing.*; // javax.swing.* を import
class MyJFrame extends JFrame { // JFrame の SubClass 実装
MyJFrame() {
getContentPane().setLayout(new FlowLayout());
setTitle("JAVA SWING");
setSize(640,480);
setVisible(true); // これが無いと表示されない。
}
public static void main(String [] args) {
new MyJFrame();
}
}
※これだけでも window を閉じるボタンが反応するようです。
※・・・が、window 表示に違和感を覚えるでしょう。
▲上へ [ 編集 ]
Java Applet
とりあえず割愛※HTML文へフラッシュ見たいに組み込み実行する感じ・・・一般的にブラウザ上で実行する。
- AppletViewer で表示する
- Sample.java ファイルに表示用 HTML を埋め込んだ(コメントアウト)場合
- コンパイル実行 Sample.Class を作成
- appletviewer /home/<<user name>>/desktop/Sample.java
- 表示用 HTML を作成した場合
- コンパイル Sample.Class
- 対となる Sample.html をダブルクリックしブラウザで起動。
HTML + .class(ブラウザで実行する)
(1ー1)Sample.html(最低限必要(と思う)な html 記述)<html> <body> <applet code="Sample.class" width="250" height="150"> アプレットを表示出来ない場合の文言(これは無くても OK) </applet> </body> </html>
(1ー2)Sample.java(こんな感じで・・・)
import java.awt.*;
import java.applet.*;
public class Sample extends Applet{
public void init() { 〜 } // 初期化処理
public void start() { 〜 } // 処理開始
public void paint(Graphics g) { 〜 } // 描画処理
public void stop() { 〜 } // 一時停止
public void destroy() { 〜 } // 終了処理
}
※コンパイルし Sample.class を作成し、Sample.html をブラウザで開くと実行される。※実行は init(), start(), paint(), ・・・と順次行われる模様だが・・・。main() は記述しない。
※任意にメソッドを作成しても良いと思います。・・・が上記 init(), start() など1個は欲しい。(たぶん)
(2)コンパイル:Sample.java をコンパイルし Sample.class を作成
javac Sample.java
(3)実行:Sample.html ダブルクリックするなどして実行。
appletviewer Sample.htmlアプレットビューアでの実行も可能。
簡易実行(html ファイル未使用)
(1)Sample.java(html と javaソースを一緒に記述)/* <applet code="Sample.class" width="250" height="150"></applet> */ import 〜なんちゃら(以下省略)〜 〜
(2)コンパイル:Sample.java をコンパイルし Sample.class を作成
(3)実行:端末から Sample.java を指定し実行。
appletviewer Sample.java※要は <applet 〜></applet> が平文で指定出来れば何でもよいみたいです。
※<applet>文は多くのオプションあり。(委細省略)
※html ファイルが別途不要なので動作チェックに便利です。
▲上へ [ 編集 ]
その他
Qt4
Qt(キュート、又はキューティ) は、クロス環境(Win, Mac, Linux 他モバイル環境など)で使える GUI 開発環境らしく 主に C++ 用のようですが、Java, Python, Ruby などからも利用することも可能らしいです。(詳細不明)特に Linux では、KDE, Opera, Google などの環境や一部のアプリで使われ、また GUI 製作も比較的容易な感じです・・・が、その後ソースに include とか import とかするのは手動になるらしいので、手放しで簡単とは言い難い・・・
JAVA の UI 製作環境として使えそうな感じもするため一応メモ。
java bindings / Qt Jambi(商用みたい)
その他メモ
Visual Editor ProjectEclipse 3.1.1 へのインストールは比較的簡単に出来ました。
試行錯誤の末 galileo ver3.5.2 への Visual Editor インストール出来ました。
▲上へ [ 編集 ]
関連書籍
swing を 基本に JAVA のインターフェースを設定。見た目の違いは Look & Feel の変更で対処。※web 用途ならアプレットでしょう。(自分で探して・・・)
関連ページ
- 開発環境関連
- JAVA 関連
- 音源変換メモ
▲上へ [ 編集 ]
2011年03月26日(土) 12:36:00 Modified by cafeboy1
