1: テーブル (JTable):
1.基本概念:
テーブル (JTable) は、Swing に新しく追加されたコンポーネントであり、主にデータを表形式で表示するために使用され、大きなデータ ブロックを表示するためのシンプルなメカニズムを提供します。
2. 一般的に使用される建設方法:
* JTable(): システムのデフォルト モデルを使用して JTable インスタンスを作成します。
* JTable(int numRows, int numColumns): DefaultTableModel を使用して行と列を指定して空のテーブルを作成します。
* JTable(Object[ ][ ] rowData,Object[ ][ ] columnNames): 2 次元データを表示するテーブルを作成します。
テーブルは、テーブル列名の配列とテーブル データ配列を使用して直接作成できます。
* JTable(TableModel dm): データ スキーマとデフォルトのフィールド スキーマを指定して JTable インスタンスを作成します。
データ モデル クラスのオブジェクトは通常、データを保存するために使用され、テーブル モデルはテーブル列名配列とテーブル データ配列を通じて作成されます。
3. 一般的に使用される方法:
4. 包括的なケース:
コード 1:
次のようにコードをコピーします。
public class JTableDemo1 extends JFrame {
//テーブルを定義する
JTable テーブル。
// スクロール バー パネルを定義します (テーブルをスクロール可能にするため)
JScrollPane スクロールペイン;
//データ モデル クラスのオブジェクトを定義します (データの保存に使用されます)。
DefaultTableModel テーブルモデル;
public JTableDemo1() {
素晴らしい();
setTitle("テーブルモデルとテーブル");
スクロールペイン = 新しい JScrollPane();
//テーブルの列名の配列を定義
String[] 列名 = { "A"、"B"、"C" };
//テーブルデータ配列を定義
String[][] tableValues = { { "A1", "B1","C1" }, { "A2", "B2","C2" },
{ "A3"、"B3"、"C3" }、{ "A4"、"B4"、"C4" } };
//テーブルの列名とテーブルのデータを指定してテーブル モデル クラスのオブジェクトを作成します
tableModel = 新しい DefaultTableModel(tableValues, columnNames);
//指定されたテーブルモデルのテーブルを作成
テーブル = 新しい JTable(テーブルモデル);
// RowSorter を設定します (RowSorter は、JTable の並べ替えとフィルタリングを提供するために使用されます)。
table.setRowSorter(new TableRowSorter<DefaultTableModel>(tableModel));
スクロールペイン.setViewportView(テーブル);
getContentPane().add(scrollPane, BorderLayout.CENTER);
setBounds(300, 200, 400, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[]) {
新しい JTableDemo1();
}
}
スクリーンショット 1:
コード 2:
次のようにコードをコピーします。
java.awt.* をインポートします。
javax.swing.* をインポートします。
パブリック クラス JTableDemo3 {
JFrame フレーム。
JPパネルパネル;
JScrollPane スクロールペイン 1、スクロールペイン 2、スクロールペイン 3;
Jテーブル jtable1、jtable2、jtable3;
public JTableDemo3() {
フレーム = 新しい JFrame("JTableDemo");
jtable1 = 新しい JTable(8, 6);
Final Object[] columnNames = { "Name", "Gender", "Home Address", // 列名は、final で変更するのが最適です。
「電話番号」、「生年月日」、「職業」、「収入」、「婚姻状況」、「交際状況」 };
オブジェクト[][] rowData = {
{ "ddd", "男性", "南京、江蘇省"、 "1378313210"、 "1985/03/24"、 "学生"、 "パラサイト"、
"未婚"、"未婚" },
{ "eee", "女性", "南京、江蘇"、"13645181705"、"xx/xx/1985"、"家庭教師"、"不明",
"未婚", "そうではないようです" },
{ "fff", "男性", "南京、江蘇省", "13585331486", "1985/12/08", "自動車セールスマン",
"不明"、"未婚"、"はい" },
{ "ggg", "女性", "南京、江蘇"、"81513779"、"xx/xx/1986"、"ホテルの係員",
"決まっているが不明"、"未婚"、"はい" },
{ "haha", "男性", "南京、江蘇"、"13651545936"、"xx/xx/1985"、"学生"、"亡命中"、
"未婚"、"何度も別れた後ではない" } };
jtable2 = 新しい JTable(rowData, columnNames);
jtable3 = 新しい JTable(rowData, columnNames);
jtable3.setPreferredScrollableViewportSize(new Dimension(600, 100));//テーブルのサイズを設定します
jtable3.setRowHeight(30);//各行の高さを 20 に設定します
jtable3.setRowHeight(0, 20);//行1の高さを15に設定します
jtable3.setRowMargin(5);//隣接する 2 つのセル行間の距離を設定します
jtable3.setRowSelectionAllowed(true); // 選択できるかどうかを設定します。デフォルトは false です。
jtable3.setSelectionBackground(Color.white);//選択した行の背景色を設定します
jtable3.setSelectionForeground(Color.red);//選択した行の前景色を設定します
jtable3.setGridColor(Color.red);// グリッド線の色を設定します
jtable3.selectAll();//すべての行を選択
jtable3.setRowSelectionInterval(0, 2);//最初の選択行を設定します。ここでは行 1 ~ 3 がすべて選択状態になっています。
jtable3.clearSelection();//選択をキャンセル
jtable3.setDragEnabled(false); // これは理解できません
jtable3.setShowGrid(true); // グリッド線を表示するかどうか
jtable3.setShowhorizontalLines(true); // 水平グリッド線を表示するかどうか
jtable3.setShowVerticalLines(true); // 垂直グリッド線を表示するかどうか
jtable3.setValueAt("tt", 0, 0);//特定のセルの値を設定します。この値はオブジェクトです
jtable3.doLayout();
jtable3.setBackground(Color.シアン);
// スクロール効果を実現するには、JTable を JScrollPane に追加するのが最適です
スクロールペイン1 = 新しいJScrollPane(jtable1);
スクロールペイン2 = 新しいJScrollPane(jtable2);
スクロールペイン3 = 新しいJScrollPane(jtable3);
パネル = 新しい JPanel(新しい GridLayout(0, 1));
パネル.setPreferredSize(new Dimension(600, 400));
パネル.setBackground(Color.black);
パネル.add(scrollPane1);
パネル.add(scrollPane2);
パネル.add(scrollPane3);
フレーム.setContentPane(パネル);
フレーム.パック();
フレーム.setVisible(true);
Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
新しい JTableDemo3();
}
}
スクリーンショット 2:
2: ツリー (JTree):
1.基本概念:
ツリー (JTree): 階層データ セットをアウトラインとして表示するコントロール。
2. 一般的に使用される建設方法:
JTree(): サンプル モデルを含む JTree を返します。
JTree(Object[] value): 配列の各要素を、表示されていない新しいルート ノードの子ノードとして指定する JTree を返します。
//このコンストラクターのみが複数のルート ノードを作成できます
JTree(Object[] value): 配列の各要素を、表示されていない新しいルート ノードの子ノードとして指定する JTree を返します。
JTree(TreeNode root): 指定された TreeNode をルートとして持つ JTree を返します。これには、ルート ノードが表示されます。
JTree(TreeNode root, boolean askAllowsChildren): 指定された TreeNode をルートとする JTree を返します。
指定された方法でルート ノードを表示し、そのノードがリーフ ノードであるかどうかを判断します。 (子ノードを追加するには true を設定してから、子ノードを追加します)。
3. コードのデモ:
例 1:
次のようにコードをコピーします。
パブリック クラス JTreeDemo1 {
JFrame f;
ボックスボックス。
JTree jTree1、jTree2;
public JTreeDemo1()
{
f = 新しい JFrame(" JTreeDemo1 ");
box = Box.createhorizontalBox(); //Box クラスのオブジェクトを作成します。
jTree1 = 新しい JTree();
jTree2 = 新しい JTree();
//このコンポーネントに任意のキー/値を追加します
jTree1.putClientProperty("JTree.lineStyle", "Angled");
//ボックスコンテナにスクロールパネルを追加します。
box.add(new JScrollPane(jTree1), BorderLayout.WEST);
box.add(new JScrollPane(jTree2), BorderLayout.EAST);
f.getContentPane().add(box, BorderLayout.CENTER);
f.setSize(300, 240);
//f.pack();
f.setLocation(300, 200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
新しい JTreeDemo1();
}
}
スクリーンショット 1:
例 2:
次のようにコードをコピーします。
パブリック クラス JTreeDemo2 {
JFrame f;
JPパネルp;
JTree jTree1、jTree2、jTree3、jTree4、jTree5、jTree6、jTree7;
public JTreeDemo2() {
f = 新しい JFrame(" JTreeDemo2 ");
// コンストラクター: JTree()
jTree1 = 新しい JTree();
// コンストラクター: JTree(Object[] value)
Object[] 文字 = { " a "、" b "、" c "、" d "、" e " };
jTree2 = 新しい JTree(文字);
// コンストラクター: JTree(TreeNode root)(TreeNode empty)
// 空のノードを含むツリーを作成する
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode() // ツリー ノードを定義します。
jTree3 = new JTree(node1); // このツリー ノードをパラメータとして使用して、JTree コンストラクターを呼び出し、ルート ノードを持つツリーを作成します
// コンストラクター: JTree(TreeNode root) (TreeNode が空でないことを除いて、上記と同じ)
// ルートノードを持つツリーを作成します
DefaultMutableTreeNode ノード 2 = 新しい DefaultMutableTreeNode(" Color ");
jTree4 = new JTree(node2); // ノードに色を付けることはできません。デフォルトは白と黒のテキストです。
jTree4.setBackground(Color.lightGray);
// コンストラクター: JTree(TreeNode root, boolean
// askAllowsChildren) (上記と同じですが、TreeNode が異なります)
// DefaultMutableTreeNode クラスを使用して、最初にルート ノードを持つツリーを作成し、子ノードを追加するように設定してから、子ノードを追加します。
DefaultMutableTreeNode color = new DefaultMutableTreeNode(" Color ",
真実);
DefaultMutableTreeNode grey = new DefaultMutableTreeNode(" Gray ");
grey.add(new DefaultMutableTreeNode(" Lightgray "));
grey.add(new DefaultMutableTreeNode(" Darkgray "));
color.add(グレー);
color.add(new DefaultMutableTreeNode(" Red "));
color.add(new DefaultMutableTreeNode(" Green "));
jTree5 = 新しい JTree(色);
// コンストラクター: JTree(TreeNode root) (TreeNode が空でないことを除いて、上記と同じ)
// ノードを 1 つずつ追加してツリーを作成します
DefaultMutableTreeNode 生物学 = 新しい DefaultMutableTreeNode(" 生物学 ");
DefaultMutableTreeNode 動物 = 新しい DefaultMutableTreeNode(" Animal ");
DefaultMutableTreeNode 哺乳類 = new DefaultMutableTreeNode(" 哺乳類 ");
DefaultMutableTreeNode horse = new DefaultMutableTreeNode(" Horse ");
mammal.add(馬);
動物.add(哺乳類);
生物学.add(動物);
jTree6 = 新しい JTree(生物学);
horse.isLeaf();
horse.isRoot();
//コンストラクター:JTree(TreeModel newModel)
// DefaultMutableTreeNodel クラスを使用してノードを定義し、このノードをパラメータとして使用して、DefaultTreeMode を使用してノードを定義します
// ツリー モデルを作成し、JTree コンストラクターを使用してツリーを作成します
DefaultMutableTreeNode root = new DefaultMutableTreeNode(" Root1 ");
DefaultMutableTreeNode child1 = 新しい DefaultMutableTreeNode(" Child1 ");
DefaultMutableTreeNode child11 = 新しい DefaultMutableTreeNode(" Child11 ");
DefaultMutableTreeNode child111 = 新しい DefaultMutableTreeNode(
" Child111 ");
root.add(child1);
child1.add(child11);
child11.add(child111);
DefaultTreeModel モデル = 新しい DefaultTreeModel(ルート);
jTree7 = 新しい JTree(モデル);
p = 新しい JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
p.setPreferredSize(new Dimension(700, 400));
// JTree は JScrollPane に配置する必要があります
p.add(new JScrollPane(jTree1));
p.add(new JScrollPane(jTree2));
p.add(new JScrollPane(jTree3));
p.add(new JScrollPane(jTree4));
p.add(new JScrollPane(jTree5));
p.add(new JScrollPane(jTree6));
p.add(new JScrollPane(jTree7));
f.setContentPane(p);
f.pack();
f.setLocation(300, 200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
新しい JTreeDemo2();
}
}
スクリーンショット 2: