JTable
- JTable JComponent 의 하위 클래스입니다. 복잡한 데이터 구조를 표시합니다.
- JTable MVC(Model View Controller) 디자인 패턴 을 따를 수 있습니다. 행 에 데이터를 표시하기 위해 및 열 .
- DefaultTableModel 클래스는 AbstractTableModel 을 확장할 수 있습니다. JTable 에 행과 열을 추가하는 데 사용할 수 있습니다. 동적으로.
- DefaultTableCellRenderer 클래스는 JLabel 을 확장할 수 있습니다. 클래스이며 이미지를 추가하는 데 사용할 수 있습니다. , 컬러 텍스트 JTable 내부 등 셀 .
- JTable은 TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener, RowSorterListener 를 생성할 수 있습니다. 인터페이스.
- 기본적으로 JTable의 너비는 고정되어 있으며 table.getColumnModel().getColumn().setPreferredWidth(를 사용하여 각 열의 너비를 변경할 수도 있습니다. ) JTable 클래스의 메소드.
예
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class JTableTest extends JFrame {
private JTable table;
private JScrollPane scrollPane;
private DefaultTableModel model;
private DefaultTableCellRenderer cellRenderer;
public JTableTest() {
setTitle("JTable Test");
setLayout(new FlowLayout());
scrollPane = new JScrollPane();
JTable table = new JTable();
scrollPane.setViewportView(table);
model = (DefaultTableModel)table.getModel();
model.addColumn("S.No");
model.addColumn("First Name");
model.addColumn("Last Name");
model.addColumn("Email");
model.addColumn("Contact");
for(int i = 0;i < 4; i++) {
model.addRow(new Object[0]);
model.setValueAt(i+1, i, 0);
model.setValueAt("Tutorials", i, 1);
model.setValueAt("Point", i, 2);
model.setValueAt("@tutorialspoint.com", i, 3);
model.setValueAt("123456789", i, 4);
}
// set the column width for each column
table.getColumnModel().getColumn(0).setPreferredWidth(5);
table.getColumnModel().getColumn(3).setPreferredWidth(100);
cellRenderer = new DefaultTableCellRenderer();
cellRenderer.setHorizontalAlignment(JLabel.CENTER);
table.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);
add(scrollPane);
setSize(475, 250);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new JTableTest();
}
} 출력
