• 検索結果がありません。

Java - Visual Editor

N/A
N/A
Protected

Academic year: 2021

シェア "Java - Visual Editor"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

プロジェクトを右クリックして[新規]→[其の他]を選択し、ダイアログで[JFrame Visual Class]を選択

して、[次へ]をクリックする。

Java └Swing

├JApplit Visual Class ├JDialog

├JFrame Visual Class └JPanel Visual Class

(2)

プレビュー画面と、コンポーネントパレットが付いたVisual Editor が起動した。

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

(3)

コンポーネントがどのように組み合わさっているのかを確認するには、「Java Beans」ビューを利用します。ま

た、メニュー系のコンポーネントなど、画面上で選択・挿入しにくいものについても、このJava Beans ビュー

上のツリーで編集を行います。

(4)

実行すると、Swing のオブジェクトを実際に表示して、 GUI 動作を確認する事が出来る。

JSplitPane で 2 分割した領域に JTree と JTable を表示し、エクスプローラの様なアプリケーションを作成して 観た。左側でフォルダを選択すると、右側に其のフォルダのファイル一覧が表示される。

(5)

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());

(6)

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);

}

(7)

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; }

} }

(8)

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()); } } }

参照

関連したドキュメント

ⅴ)行使することにより又は当社に取得されることにより、普通株式1株当たりの新株予約権の払

先行事例として、ニューヨークとパリでは既に Loop

ⅴ)行使することにより又は当社に取得されることにより、普通株式1株当たりの新株予約権の払

ⅴ)行使することにより又は当社に取得されることにより、普通株式1株当たりの新株予約権の払

ⅴ)行使することにより又は当社に取得されることにより、普通株式1株当たりの新株予約権の払

ⅴ)行使することにより又は当社に取得されることにより、普通株式1株当たりの新株予約権の払

ⅴ)行使することにより又は当社に取得されることにより、普通株式1株当たりの新株予約権の払

ⅴ)行使することにより又は当社に取得されることにより、普通株式1株当たりの新株予約権の払