Java - Visual Editor

Similar documents
目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ

GUIプログラムⅣ

PowerPoint Presentation

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

Java 2 - Lesson01

. IDE JIVE[1][] Eclipse Java ( 1) Java Platform Debugger Architecture [5] 3. Eclipse GUI JIVE 3.1 Eclipse ( ) 1 JIVE Java [3] IDE c 016 Information Pr

新・明解Java入門

第1章 ビジュアルプログラミング入門

Prog2_12th

シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論

2 static final int DO NOTHING ON CLOSE static final int HIDE ON CLOSE static final int DISPOSE ON CLOSE static final int EXIT ON CLOSE void setvisible

第1章 ビジュアルプログラミング入門

ブロック崩し Step1 矢印キーで左右に動かせるパドルを描画する < パドルの表現方法 > パドルは java.awt パッケージの Rectangle という Java が用意しているクラスを使う これは四角形を表すクラスで 左上の点の座標と幅 高さをもっている (x, y) Rectangle

データ構造とアルゴリズム論

第1章 ビジュアルプログラミング入門

Java講座

ガイダンス

Animals サンプル Step 1 動物の種類を指定しておいて クリックした場所に画像を貼り付ける < レイアウトについて > 前回は ラベルやボタンの位置を座標で設定した Absolute Layout を選んだためである レイアウトは どのようにボタンなどのコンポーネントを配置するかを決定す

Java演習(4) -- 変数と型 --

ガイダンス

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

ICONファイルフォーマット

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame("Kadai _02"); (2) フレームのクラス名は MyFrame とし 以下

V8.1新規機能紹介記事

Microsoft Word - A05_AndroidプログラミングJUMP_画面800×1280

: : : TSTank 2

VB.NETコーディング標準

ガイダンス

Uruma による、簡単リッチアプリケーション開発

Java言語 第1回

B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71

Animals サンプル Step3 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く その鳴く間 一定時間 ( ここでは 1 秒間 ) 画像が別のものに変わる <アニメーションの基礎 : タイマーについて> アニメーションは アプリケーションが指定する間 一定間隔でどんどん画像をおきかえ

ファイルを直接編集する画面を切り替えることができる. 図 3 標準のレイアウトを削除する (2) グラフィカル レイアウト画面で LinearLayout(Vertical) を追加するパレットウィンドウの レイアウト の中にある LinearLayout(Vertical) をドラッグして, 編集

プログラミング入門1

JavaプログラミングⅠ

グラフィックス

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex

GUIプログラムⅤ

VB.NET解説

Microsoft PowerPoint - chap10_OOP.ppt

次の演習課題(1),(2)のプログラムを完成させよ

Userコントロール

64bit環境で32bitコンポーネントの利用

ガイダンス

JAVA とテンプレート

第1章 ビジュアルプログラミング入門

最初に

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

< F2D B838A835882CC8CF68EAE2E6A7464>

ガイダンス

プラグイン

Microsoft PowerPoint ppt

Microsoft PowerPoint - swing3.ppt

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

ファイル操作-インターネットキャッシュ

2

文字列操作と正規表現

正規表現応用

プログラミング入門1

デジタル表現論・第4回

Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)

2 // TODO Auto-generated method stub float x = event.getx(); float y = event.gety(); String action = ""; switch(event.getaction()) { case MotionEvent.

解きながら学ぶJava入門編

グラフを表すデータ構造 Javaでの実装

PowerPoint プレゼンテーション

< F2D834F838C A815B A CC>

NotifyIconコントロール

sscapt.jar(ver.2) ソースコードの使い方 説明書 MLTLab ( エムエルティ ラボ ) 2014 年 4 月 21 日

ALG ppt

手書認識 グラフ描画 Step2-2 手書認識 : 認識結果を PaintPanel で描画する < 属性付き文字列 AttributedString> 標準出力では分かりにくいうえに認識結果を使えないので 認識するごとに PaintPanel に文字を描画することにする ここで 数式はただの文字列

I 4 p.2 4 GUI java.awt.event.* import /* 1 */ import mouseclicked MouseListener implement /* 2 */ init addmouselistener(this) this /* 3 */ this mousec

のようにする 上の例では GeneralPath を new するときに コンストラクタに何も指定していないが 直線を表す Line, 四角形を表す Rectangle などを引数に与えてもよい 矢印を作成するメソッドの引数矢印を表す GeneralPath を生成するために getarrowpat

Java言語 第1回

JavaプログラミングⅠ

Prog2_15th

WebOTXマニュアル

PowerPoint プレゼンテーション

Prog1_12th

PowerPoint Presentation

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

< F2D B825082CC96E291E82E6A7464>

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

Prog2_11th

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

ListViewコントロール

日 用 用 面 示 用 用 方

アルゴリズムとデータ構造1

GUIプログラムⅡ

text_12.dvi

Thread

WebOTXマニュアル

<4D F736F F F696E74202D AC C8899E D834F E >

教材ドットコムオリジナル教材 0から始めるiアフ リ リファレンス i アプリ簡易リファレンス ver i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.u

Quick Sort 計算機アルゴリズム特論 :2017 年度 只木進一

IT プロジェクト

1: Preference Display 1 package sample. pref ; 2 3 import android. app. Activity ; 4 import android. content. Intent ; 5 import android. content. Shar

ALG ppt

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

Transcription:

Visual Editor で Swing アプリケーションを作成 Swing プログラミングに慣れて居ても ソースコード上丈で思い通りの GUI を作成するのは 可成り骨の折れる作業で有る Visual Editor を使用すれば 試行錯誤し乍ら 非常に簡単に GUI アプリケーションを作成する事が出来る 此処では JFrame を拡張して 簡単なアプリケーションを作成して観る事にする Java Swing JApplit Visual Class JDialog JFrame Visual Class JPanel Visual Class プロジェクトを右クリックして [ 新規 ] [ 其の他 ] を選択し ダイアログで [JFrame Visual Class] を選択して [ 次へ ] をクリックする [ 名前 ] に適当な名前を入力する ( 此処では Frame と仕た ) 1

プレビュー画面と コンポーネントパレットが付いた Visual Editor が起動した 右側のコンポーネントパレットからコンポーネントを選択し プレビュー画面 ( フレーム ) の上でクリックすると コンポーネントを貼り付ける事が出来る 2

亦 編集結果は 其の都度ソースに反映される コンポーネントの配置等は 総て通常の Java ソースファイルに格納され 別のプロパティファイル等は作成されない 猶 ソースを手作業で編集すると 其の結果もプレビューに反映される 但し 余りにも過激にソースを書き換えると Visual Editor がソースを認識出来なく成り プレビューが崩れたり 表示されなく成って仕舞う事が有るので ソースは 成る可く頻繁に保存し 且つ 構造的に大きな変更を加える時は 前のバージョンのソースをバックアップして置く事を推奨する コンポーネントがどのように組み合わさっているのかを確認するには Java Beans ビューを利用します また メニュー系のコンポーネントなど 画面上で選択 挿入しにくいものについても この Java Beans ビュー上のツリーで編集を行います 編集中の Swing オブジェクトは [Java Bean] と仕て実行する事が出来る 実行に当たり 特に main メソッド等を用意する必要は無い 3

実行すると Swing のオブジェクトを実際に表示して GUI 動作を確認する事が出来る JSplitPane で 2 分割した領域に JTree と JTable を表示し エクスプローラの様なアプリケーションを作成して観た 左側でフォルダを選択すると 右側に其のフォルダのファイル一覧が表示される 4

samples/swing/visualeditor/frame.java - Eclipse SDK package samples.swing.visualeditor; import java.awt.borderlayout; import java.io.file; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.jsplitpane; import javax.swing.jtable; import javax.swing.jtree; public class Frame extends JFrame { private JPanel jcontentpane = null; private JSplitPane jsplitpane = null; private JTree jtree = null; private JTable jtable = null; This is the default constructor public Frame() { super(); initialize(); This method initializes this @return void private void initialize() { this.setsize(817, 474); this.setcontentpane(getjcontentpane()); this.settitle("jframe"); This method initializes jcontentpane @return javax.swing.jpanel private JPanel getjcontentpane() { if (jcontentpane == null) { jcontentpane = new JPanel(); jcontentpane.setlayout(new BorderLayout()); jcontentpane.add(getjsplitpane(), java.awt.borderlayout.center); 5

return jcontentpane; This method initializes jsplitpane @return javax.swing.jsplitpane private JSplitPane getjsplitpane() { if (jsplitpane == null) { jsplitpane = new JSplitPane(); jsplitpane.setleftcomponent(getjtree()); jsplitpane.setrightcomponent(getjtable()); return jsplitpane; This method initializes jtree @return javax.swing.jtree private JTree getjtree() { if (jtree == null) { jtree = new JTree(new FolderTreeNode(new File("c:/"))); jtree.addtreeselectionlistener(new FolderTreeSelectionListener(this)); return jtree; This method initializes jtable @return javax.swing.jtable private JTable getjtable() { if (jtable == null) { jtable = new JTable(); return jtable; public void showfolder(file file) { jtable = new JTable(new FolderTableModel(file)); jsplitpane.setrightcomponent(jtable); // @jve:decl-index=0:visual-constraint="10,10" 6

samples/swing/visualeditor/foldertablemodel.java - Eclipse SDK package samples.swing.visualeditor; import java.io.file; import java.util.arraylist; import java.util.date; import javax.swing.table.abstracttablemodel; public class FolderTableModel extends AbstractTableModel { private File file; private ArrayList<File> filelist = new ArrayList<File>(); public FolderTableModel(File file) { this.file = file; for (File child : file.listfiles()) { if (!child.isdirectory()) { filelist.add(child); public int getrowcount() { return filelist.size(); public int getcolumncount() { return 3; public Object getvalueat(int row, int col) { File child = filelist.get(row); switch (col) { case 0: return child.getname(); case 1: return new Long(child.length()); case 2: return new Date(child.lastModified()); default: return null; 7

samples/swing/visualeditor/foldertreenode.java - Eclipse SDK package samples.swing.visualeditor; import java.io.file; import java.io.filefilter; import javax.swing.tree.defaultmutabletreenode; import javax.swing.tree.treenode; public class FolderTreeNode extends DefaultMutableTreeNode { private File file; private File[] children; public FolderTreeNode(File file) { this.file = file; if (file.isdirectory()) { children = file.listfiles(new FileFilter() { public boolean accept(file file) { return file.isdirectory(); ); public int getchildcount() { return children == null? 0 : children.length; public TreeNode getchildat(int i) { return new FolderTreeNode(children[i]); public String tostring() { return file.getname(); public File getfile() { return file; samples/swing/visualeditor/foldertreeselectionlistener.java - Eclipse SDK package samples.swing.visualeditor; import javax.swing.event.treeselectionevent; import javax.swing.event.treeselectionlistener; public class FolderTreeSelectionListener implements TreeSelectionListener { private Frame frame; public FolderTreeSelectionListener(Frame frame) { this.frame = frame; public void valuechanged(treeselectionevent e) { FolderTreeNode ftn = (FolderTreeNode)e.getPath().getLastPathComponent(); if (ftn!= null) { frame.showfolder(ftn.getfile()); 8