A JTable là một lớp con của JComponent lớp để hiển thị các cấu trúc dữ liệu phức tạp. JTable có thể tuân theo mẫu thiết kế Model View Controller (MVC) để hiển thị dữ liệu trong các hàng và cột. DefaultTableModel lớp là một lớp con của AbstractTableModel và nó có thể được sử dụng để thêm hàng và cột vào một JTable động. DefaultTableCellRenderer lớp có thể mở rộng JLabel và nó có thể được sử dụng để thêm hình ảnh , văn bản màu và v.v. bên trong ô JTable. Chúng tôi có thể ẩn tiêu đề bảng của JTable bằng cách bỏ chọn JCheckBox và hiển thị tiêu đề bảng của JTable bằng cách nhấp vào cái JCheckBox .
Ví dụ
import java.awt.*; import javax.swing.*; import javax.swing.table.*; public final class JTableHeaderHideTest extends JPanel { private final String[] columnNames = {"String", "Integer", "Boolean"}; private final Object[][] data = {{"Tutorials Point", 100, true}, {"Tutorix", 200, false}, {"Tutorials Point", 300, true}, {"Tutorix", 400, false}}; private final TableModel model = new DefaultTableModel(data, columnNames) { @Override public Class getColumnClass(int column) { return getValueAt(0, column).getClass(); } }; private final JTable table = new JTable(model); private final JScrollPane scrollPane = new JScrollPane(table); public JTableHeaderHideTest() { super(new BorderLayout()); add(scrollPane); JCheckBox check = new JCheckBox("JTableHeader visible: ", true); check.addActionListener(ae -> { JCheckBox cb = (JCheckBox) ae.getSource(); scrollPane.getColumnHeader().setVisible(cb.isSelected()); scrollPane.revalidate(); }); add(check, BorderLayout.NORTH); } public static void main(String[] args) { JFrame frame = new JFrame("JTableHeaderHide Test"); frame.setSize(375, 250); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new JTableHeaderHideTest()); frame.setLocationRelativeTo(null); frame.setVisible(true); } }
Đầu ra
Hiển thị tiêu đề bảng
Ẩn tiêu đề bảng