卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

Swing 表格的使用

表格是程序中一種非常常見的組件,Swing中提供了用于創(chuàng)建表格的JTable類。JTable可以以二維表格的形式顯示數(shù)據(jù),并且允許用戶對表格中的數(shù)據(jù)進(jìn)行編輯。 JTable 構(gòu)造方法 在使用JTa

表格是程序中一種非常常見的組件,Swing中提供了用于創(chuàng)建表格的JTable類。JTable可以以二維表格的形式顯示數(shù)據(jù),并且允許用戶對表格中的數(shù)據(jù)進(jìn)行編輯。

JTable 構(gòu)造方法

在使用JTable之前,我們首先需要了解幾個(gè)JTable的構(gòu)造方法:

  1. JTable(int numRows, int numColumns):這個(gè)構(gòu)造方法使用DefaultTableModel來創(chuàng)建一個(gè)具有numRows行和numColumns列個(gè)空單元格的JTable。
  2. JTable(Object[][] rowData, Object[] columnNames):這個(gè)構(gòu)造方法使用一個(gè)二維數(shù)組rowData來創(chuàng)建一個(gè)JTable,其中rowData中的值將會(huì)被顯示在表格中,而columnNames則是表格的列名稱。

通過這兩個(gè)構(gòu)造方法,我們可以根據(jù)數(shù)據(jù)的不同形式來創(chuàng)建適應(yīng)的JTable對象。

JTable 的簡單使用

下面我們來看一個(gè)簡單的示例,演示如何使用JTable來顯示數(shù)據(jù):

// 創(chuàng)建數(shù)據(jù)
Object[][] data  {
    {"John", 25, "Male"},
    {"Emily", 28, "Female"},
    {"Michael", 30, "Male"}
};
// 創(chuàng)建表頭
Object[] columnNames  {"Name", "Age", "Gender"};
// 創(chuàng)建 JTable 對象
JTable table  new JTable(data, columnNames);
// 創(chuàng)建滾動(dòng)面板,用于顯示表格
JScrollPane scrollPane  new JScrollPane(table);
// 將滾動(dòng)面板添加到容器中
().add(scrollPane);

在上述示例中,我們首先創(chuàng)建了一個(gè)二維數(shù)組data,其中包含了三行數(shù)據(jù)。然后,通過定義一個(gè)列名稱的字符串?dāng)?shù)組columnNames,我們指定了表格的列標(biāo)題。

接著,我們使用這兩個(gè)數(shù)組作為參數(shù)來創(chuàng)建JTable對象table。最后,我們將table放置在一個(gè)JScrollPane中,并將它添加到容器中,以便能夠滾動(dòng)顯示整個(gè)表格。

通過這樣簡單的幾步,我們就可以創(chuàng)建并顯示一個(gè)基本的JTable。

JTable 數(shù)據(jù)編輯

除了顯示數(shù)據(jù)外,JTable還允許用戶對表格中的數(shù)據(jù)進(jìn)行編輯。例如,我們可以添加按鈕或其他組件來實(shí)現(xiàn)編輯功能。

下面是一個(gè)示例,演示如何在JTable中添加一個(gè)按鈕,并實(shí)現(xiàn)點(diǎn)擊按鈕時(shí)修改表格數(shù)據(jù)的功能:

// 創(chuàng)建數(shù)據(jù)模型
DefaultTableModel model  new DefaultTableModel(data, columnNames) {
    // 列類型
    Class[] columnTypes  new Class[] {
        , , 
    };
    // 指定列類型
    public Class getColumnClass(int columnIndex) {
        return columnTypes[columnIndex];
    }
    // 判斷單元格是否可編輯
    public boolean isCellEditable(int row, int column) {
        return true;
    }
};
// 創(chuàng)建 JTable 對象
JTable table  new JTable(model);
// 創(chuàng)建按鈕列
TableButtonColumn buttonColumn  new TableButtonColumn(table, editButtonAction, 3);
// 將表格添加到容器中
().add(new JScrollPane(table));

在上述示例中,我們首先創(chuàng)建了一個(gè)DefaultTableModel對象model,該對象繼承自AbstractTableModel,用于存儲(chǔ)表格的數(shù)據(jù)。通過重寫getColumnClass和isCellEditable方法,我們指定了表格中每列的類型以及可編輯的單元格。

接著,我們使用這個(gè)model對象來創(chuàng)建JTable實(shí)例table。然后,我們使用TableButtonColumn類創(chuàng)建了一個(gè)按鈕列,并將其添加到表格中。點(diǎn)擊按鈕時(shí),會(huì)觸發(fā)editButtonAction,從而修改表格中的數(shù)據(jù)。

通過以上步驟,我們就可以實(shí)現(xiàn)在JTable中對數(shù)據(jù)進(jìn)行編輯的功能。

標(biāo)簽: