1: Tabel (JTabel):
1.Konsep dasar:
Tabel (JTable) adalah komponen Swing yang baru ditambahkan. Ini terutama digunakan untuk menampilkan data dalam bentuk tabel. Ini menyediakan mekanisme sederhana untuk menampilkan blok data yang besar.
2. Metode konstruksi yang umum digunakan:
* JTable(): Membuat instance JTable menggunakan model default sistem.
* JTable(int numRows, int numColumns): Buat tabel kosong menggunakan DefaultTableModel untuk menentukan baris dan kolom.
* JTable(Objek[ ][ ] rowData,Objek[ ][ ] Nama kolom): Membuat tabel yang menampilkan data dua dimensi.
Tabel dapat dibuat secara langsung dengan menggunakan array nama kolom tabel dan array data tabel.
* JTable(TableModel dm): Membuat instance JTable yang menentukan skema data dan skema bidang default.
Objek kelas model data biasanya digunakan untuk menyimpan data, dan model tabel dibuat melalui larik nama kolom tabel dan larik data tabel.
3. Metode yang umum digunakan:
4. Kasus komprehensif:
Kode 1:
Copy kode kodenya sebagai berikut:
kelas publik JTableDemo1 memperluas JFrame {
//mendefinisikan tabel
tabel JTable;
//Tentukan panel scroll bar (untuk membuat tabel dapat di-scroll)
JScrollPane gulirPane;
//Tentukan objek kelas model data (digunakan untuk menyimpan data),
DefaultTableModel tableModel;
publik JTableDemo1() {
super();
setTitle("Model tabel dan tabel");
scrollPane = JScrollPane baru();
//Tentukan array nama kolom tabel
String[] nama kolom = { "A", "B", "C" };
//Definisikan array data tabel
String[][] tableValues = { { "A1", "B1","C1" }, { "A2", "B2","C2" },
{ "A3", "B3", "C3" }, { "A4", "B4", "C4" } };
//Membuat objek kelas model tabel yang menentukan nama kolom tabel dan data tabel
tableModel = new DefaultTableModel(tableValues, nama kolom);
//Membuat tabel dari model tabel yang ditentukan
tabel = JTable baru(model tabel);
//Set RowSorter (RowSorter digunakan untuk menyediakan pengurutan dan pemfilteran JTable).
table.setRowSorter(TableRowSorter baru<DefaultTableModel>(tableModel));
scrollPane.setViewportView(tabel);
getContentPane().add(scrollPane, BorderLayout.CENTER);
setBatas(300, 200, 400, 300);
setVisible(benar);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[]) {
JTableDemo1() baru;
}
}
Tangkapan Layar 1:
Kode 2:
Copy kode kodenya sebagai berikut:
import java.awt.*;
import javax.swing.*;
kelas publik JTableDemo3 {
bingkai JFrame;
panel JPanel;
JScrollPane gulirPane1, gulirPane2, gulirPane3;
JTabel jtable1, jtable2, jtable3;
publik JTableDemo3() {
bingkai = JFrame baru("JTableDemo");
jtable1 = JTable baru(8, 6);
final Object[] ColumnNames = { "Nama", "Jenis Kelamin", "Alamat Rumah", // Nama kolom sebaiknya diubah dengan final
"Nomor telepon", "Ulang tahun", "Pekerjaan", "Pendapatan", "Status perkawinan", "Status hubungan" };
Objek[][] rowData = {
{ "ddd", "Pria", "Nanjing, Jiangsu", "1378313210", "24/03/1985", "Pelajar", "Parasit",
"Belum Menikah", "Belum" },
{ "eee", "perempuan", "Nanjing, Jiangsu", "13645181705", "xx/xx/1985", "tutor", "tidak diketahui",
"Belum menikah", "Sepertinya belum" },
{ "fff", "pria", "Nanjing, Jiangsu", "13585331486", "12/08/1985", "penjual mobil",
"Tidak yakin", "Belum menikah", "Ya" },
{ "ggg", "perempuan", "Nanjing, Jiangsu", "81513779", "xx/xx/1986", "petugas hotel",
"Bertekad tetapi tidak diketahui", "Belum Menikah", "Ya" },
{ "hhh", "Pria", "Nanjing, Jiangsu", "13651545936", "xx/xx/1985", "Pelajar", "Di pengasingan",
"Belum menikah", "Tidak setelah banyak putus cinta" } };
jtable2 = JTable baru (Data baris, Nama kolom);
jtable3 = JTable baru (Data baris, Nama kolom);
jtable3.setPreferredScrollableViewportSize(Dimensi baru(600, 100));//Atur ukuran tabel
jtable3.setRowHeight(30);//Setel tinggi setiap baris menjadi 20
jtable3.setRowHeight(0, 20);//Setel tinggi baris 1 hingga 15
jtable3.setRowMargin(5);//Mengatur jarak antara dua baris sel yang berdekatan
jtable3.setRowSelectionAllowed(true); // Menyetel apakah dapat dipilih defaultnya
jtable3.setSelectionBackground(Color.white);//Mengatur warna latar belakang baris yang dipilih
jtable3.setSelectionForeground(Color.red);//Menetapkan warna latar depan dari baris yang dipilih
jtable3.setGridColor(Color.red);//Mengatur warna garis grid
jtable3.selectAll();//Pilih semua baris
jtable3.setRowSelectionInterval(0, 2);//Atur baris pilihan awal, di sini baris 1 hingga 3 semuanya dalam status yang dipilih
jtable3.clearSelection();//Batalkan pilihan
jtable3.setDragEnabled(false); // Tidak mengerti ini
jtable3.setShowGrid(true); // Apakah akan menampilkan garis grid
jtable3.setShowHorizontalLines(true); // Apakah akan menampilkan garis grid horizontal
jtable3.setShowVerticalLines(true); // Apakah akan menampilkan garis grid vertikal
jtable3.setValueAt("tt", 0, 0);//Tetapkan nilai sel tertentu, nilai ini adalah objek
jtable3.doLayout();
jtable3.setBackground(Warna.cyan);
// JTable paling baik ditambahkan ke JScrollPane untuk mencapai efek gulir
scrollPane1 = JScrollPane baru(jtable1);
scrollPane2 = JScrollPane baru(jtable2);
scrollPane3 = JScrollPane baru(jtable3);
panel = JPanel baru(GridLayout baru(0, 1));
panel.setPreferredSize(Dimensi baru(600, 400));
panel.setBackground(Warna.hitam);
panel.tambahkan(scrollPane1);
panel.tambahkan(scrollPane2);
panel.tambahkan(scrollPane3);
bingkai.setContentPane(panel);
bingkai.paket();
frame.setVisible(benar);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
JTableDemo3() baru;
}
}
Tangkapan Layar 2:
Dua: Pohon (JTree):
1.Konsep dasar:
Pohon (JTree): Kontrol yang menampilkan kumpulan data hierarki sebagai kerangka.
2. Metode konstruksi yang umum digunakan:
JTree(): Mengembalikan JTree dengan model sampel.
JTree(Object[] value): Mengembalikan JTree yang menentukan setiap elemen array sebagai simpul anak dari simpul akar baru yang tidak ditampilkan.
//Hanya konstruktor ini yang dapat membuat beberapa node root
JTree(Object[] value): Mengembalikan JTree yang menentukan setiap elemen array sebagai simpul anak dari simpul akar baru yang tidak ditampilkan.
JTree(TreeNode root): Mengembalikan JTree dengan TreeNode yang ditentukan sebagai root, yang menampilkan node root.
JTree(TreeNode root, boolean AskAllowsChildren): Mengembalikan JTree dengan TreeNode yang ditentukan sebagai rootnya.
Ini menampilkan simpul akar dengan cara tertentu dan menentukan apakah simpul tersebut merupakan simpul daun. (Setel true untuk menambahkan simpul anak, lalu tambahkan simpul anak).
3. Demonstrasi kode:
Contoh 1:
Copy kode kodenya sebagai berikut:
kelas publik JTreeDemo1 {
JFrame f;
kotak kotak;
JTree jTree1,jTree2;
JTreeDemo1() publik
{
f = JFrame baru("JTreeDemo1");
box = Box.createHorizontalBox(); //Buat objek kelas Kotak
jTree1 = JTree baru();
jTree2 = JTree baru();
//Tambahkan kunci/nilai arbitrer ke komponen ini
jTree1.putClientProperty("JTree.lineStyle", "Sudut");
//Tambahkan panel gulir ke wadah Kotak
box.add(JScrollPane baru(jTree1), BorderLayout.WEST);
box.add(JScrollPane baru(jTree2), BorderLayout.EAST);
f.getContentPane().add(box, BorderLayout.CENTER);
f.setUkuran(300, 240);
//f.paket();
f.setLocation(300, 200);
f.setVisible(benar);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
JTreeDemo1();
}
}
Tangkapan Layar 1:
Contoh 2:
Copy kode kodenya sebagai berikut:
kelas publik JTreeDemo2 {
JFrame f;
JPanel hal;
JTree jTree1,jTree2,jTree3,jTree4,jTree5,jTree6,jTree7;
publik JTreeDemo2() {
f = JFrame baru("JTreeDemo2");
// Pembuat: JTree()
jTree1 = JTree baru();
// Pembuat: JTree(Nilai Objek[])
Objek[] huruf = { " a ", " b ", " c ", " d ", " e " };
jTree2 = JTree baru (huruf);
// Pembuat: JTree(root TreeNode)(TreeNode kosong)
//Buat pohon dengan node kosong
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(); // Tentukan node pohon
jTree3 = new JTree(node1); // Gunakan simpul pohon ini sebagai parameter untuk memanggil konstruktor JTree guna membuat pohon dengan simpul akar
// Pembuat: JTree(TreeNode root) (sama seperti di atas, hanya saja TreeNode tidak kosong)
// Membuat pohon dengan simpul akar
DefaultMutableTreeNode node2 = baru DefaultMutableTreeNode(" Warna ");
jTree4 = new JTree(node2); // Node tidak dapat diwarnai, defaultnya berwarna putih dengan teks hitam
jTree4.setBackground(Warna.Abu-abu Muda);
// Pembuat: JTree(root TreeNode, boolean
//askAllowsChildren) (sama seperti di atas, namun TreeNode berbeda)
// Gunakan kelas DefaultMutableTreeNode untuk membuat pohon dengan simpul akar terlebih dahulu, atur agar menambahkan simpul anak, lalu menambahkan simpul anak.
DefaultMutableTreeNode warna = baru DefaultMutableTreeNode("Warna",
BENAR);
DefaultMutableTreeNode grey = new DefaultMutableTreeNode("Abu-abu");
grey.add(new DefaultMutableTreeNode("Lightgray"));
grey.add(DefaultMutableTreeNode baru("Darkgray"));
color.add(abu-abu);
color.add(DefaultMutableTreeNode baru("Merah"));
color.add(DefaultMutableTreeNode baru(" Hijau "));
jTree5 = JTree baru(warna);
// Pembuat: JTree(TreeNode root) (sama seperti di atas, hanya saja TreeNode tidak kosong)
// Buat pohon dengan menambahkan node satu per satu
DefaultMutableTreeNode biologi = new DefaultMutableTreeNode(" Biologi ");
DefaultMutableTreeNode animal = new DefaultMutableTreeNode("Hewan");
DefaultMutableTreeNode mamalia = new DefaultMutableTreeNode("Mamalia");
DefaultMutableTreeNode kuda = new DefaultMutableTreeNode("Kuda");
mamalia.add(kuda);
animal.add(mamalia);
biologi.add(hewan);
jTree6 = JTree baru (biologi);
kuda.isLeaf();
kuda.isRoot();
//Konstruktor:JTree(TreeModel newModel)
// Gunakan kelas DefaultMutableTreeNodel untuk mendefinisikan sebuah node dan kemudian menggunakan node ini sebagai parameter untuk mendefinisikan sebuah node menggunakan DefaultTreeMode
// Buat model pohon, lalu gunakan konstruktor JTree untuk membuat pohon
DefaultMutableTreeNode root = baru DefaultMutableTreeNode(" Root1 ");
DefaultMutableTreeNode child1 = baru DefaultMutableTreeNode("Anak1");
DefaultMutableTreeNode child11 = baru DefaultMutableTreeNode(" Child11 ");
DefaultMutableTreeNode child111 = baru DefaultMutableTreeNode(
" Anak111 ");
root.tambahkan(anak1);
anak1.tambahkan(anak11);
anak11.tambahkan(anak111);
Model DefaultTreeModel = DefaultTreeModel baru(root);
jTree7 = JTree baru(model);
p = JPanel baru();
p.setLayout(BoxLayout baru(p, BoxLayout.X_AXIS));
p.setPreferredSize(Dimensi baru(700, 400));
// JTree harus ditempatkan di JScrollPane
p.tambahkan(JScrollPane baru(jTree1));
p.tambahkan(JScrollPane baru(jTree2));
p.tambahkan(JScrollPane baru(jTree3));
p.tambahkan(JScrollPane baru(jTree4));
p.tambahkan(JScrollPane baru(jTree5));
p.tambahkan(JScrollPane baru(jTree6));
p.tambahkan(JScrollPane baru(jTree7));
f.setContentPane(p);
f.paket();
f.setLocation(300, 200);
f.setVisible(benar);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
JTreeDemo2();
}
}
Tangkapan Layar 2: