Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะแสดง/ซ่อนส่วนหัวของตารางของ JTable ใน Java ได้อย่างไร


A JTable เป็นคลาสย่อยของ JComponent คลาส สำหรับแสดงโครงสร้างข้อมูลที่ซับซ้อน JTable สามารถทำตามรูปแบบการออกแบบ Model View Controller (MVC) เพื่อแสดงข้อมูลเป็นแถวและคอลัมน์ DefaultTableModel class เป็นคลาสย่อยของ AbstractTableModel และสามารถใช้เพื่อเพิ่ม แถวและคอลัมน์ เป็น JTable แบบไดนามิก DefaultTableCellRenderer คลาสสามารถขยาย JLabel คลาสและสามารถใช้เพื่อเพิ่ม รูปภาพ , ข้อความสี และอื่นๆ ภายในเซลล์ JTable เราสามารถ ซ่อน ส่วนหัวของตารางของ JTable โดย ยกเลิกการเลือก JCheckBox และแสดงส่วนหัวของตารางของ JTable โดย คลิก ที่ JCheckBox .

ตัวอย่าง

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

ผลลัพธ์

แสดงส่วนหัวของตาราง

เราจะแสดง/ซ่อนส่วนหัวของตารางของ JTable ใน Java ได้อย่างไร

ซ่อนส่วนหัวของตาราง

เราจะแสดง/ซ่อนส่วนหัวของตารางของ JTable ใน Java ได้อย่างไร