Download - いまさら触るAwt
![Page 1: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/1.jpg)
いまさら触るAWT
@kobayan_tokyo
![Page 2: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/2.jpg)
自己紹介
Twitter: @kobayan_tokyoGitHub: kobakeWeb site: http://clock-up.jp/
・ゲーム系開発7年、システム系開発2年、Web系開発1.5年・2013年独立
・非常勤Java講師(?)
・C++ / C# / Java / PHP / Ruby / WIN32API
![Page 3: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/3.jpg)
IDE環境
・Eclipse・IntelliJ IDEA・Netbeans
![Page 4: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/4.jpg)
JavaでGUI・AWT・Swing・SWT・SwingX・JGoodies・JavaFX・Apache Pivot・Qt Jambi
![Page 5: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/5.jpg)
JavaでGUI・AWT・Swing・SWT・SwingX・JGoodies・JavaFX ← これが無難?
・Apache Pivot・Qt Jambi
![Page 6: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/6.jpg)
JavaでGUI・AWT ← これを使ってみる
・Swing・SWT・SwingX・JGoodies・JavaFX・Apache Pivot・Qt Jambi
![Page 7: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/7.jpg)
AWTのイメージ
引用元:http://www.cs.cf.ac.uk/Dave/HCI/HCI_Handout_CALLER/node18.html
![Page 8: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/8.jpg)
AWTの実際 (Windows7)
書いたコード:https://github.com/kobake/AwtDentaku
![Page 9: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/9.jpg)
AWTの実際 (Windows7 クラシック)
書いたコード:https://github.com/kobake/AwtDentaku
![Page 10: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/10.jpg)
AWTの実際 (CentOS)
書いたコード:https://github.com/kobake/AwtDentaku
![Page 11: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/11.jpg)
見た目の感触
悪くない。(ネイティブだしね)
![Page 12: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/12.jpg)
ソースコードpublic class Main extends Frame implements WindowListener, ActionListener{ … public Main(){ super("電卓"); this.addWindowListener(this);
// 上部パネル(テキスト配置部分)
Panel panelTop = new Panel(); panelTop.setLayout(new BorderLayout()); { // ラベル追加
Label label = new Label("0"); label.setAlignment(Label.RIGHT); label.setBackground(Color.LIGHT_GRAY); panelTop.add(label, BorderLayout.CENTER); Font f = new Font(Font.MONOSPACED, 0, 20); label.setFont(f); }
// 下部パネル(ボタン配置部分)
Font f = new Font(Font.MONOSPACED, 0, 20); Panel panelKeys = new Panel(); panelKeys.setLayout(new GridLayout(5, 4)); // 行数、列数
{ String[] names = { "AC","C","BS","±", "7","8", "9", "+", "4","5", "6", "-", "1","2", "3", "*", "0",".", "=", "/", }; for(int i = 0; i < 20; i++){ Button button = new Button(names[i]); button.addActionListener(this); button.setFont(f); panelKeys.add(button); } }
// パネルの貼り付け
this.add(panelTop, BorderLayout.NORTH); this.add(panelKeys, BorderLayout.CENTER);
// ウィンドウ表示
setSize(300, 300); setVisible(true); } …}
![Page 13: いまさら触るAwt](https://reader034.vdocuments.pub/reader034/viewer/2022051818/549547e6b4795938368b459e/html5/thumbnails/13.jpg)
構成
Panel panelTop;
Panel panelKeys;
// パネルの貼り付け
this.add(panelTop, BorderLayout.NORTH);this.add(panelKeys, BorderLayout.CENTER);