使用DefaultTableModel從表格中刪除第一行 的Java程式
在這篇文章中,我們將學習如何使用JTable元件在Java中顯示包含多行多列的表格。此外,我們將演示如何使用removeRow()方法從表格中刪除第一行。第一個程式展示瞭如何建立和顯示一個包含9行的表格,第二個程式演示瞭如何刪除第一行,留下其餘的8行。
使用JTable建立包含行和列的表格
以下是使用JTable建立包含行和列的表格的步驟:
- 首先匯入必要的類,例如來自javax.swing包的JFrame、JTable、JScrollPane和DefaultTableModel,以便使用GUI元件。
- 透過初始化DefaultTableModel建立一個表格模型,這將幫助我們管理將進入表格的資料。
- 建立一個JTable物件並將其連結到我們剛剛設定的DefaultTableModel。這將我們的資料模型連線到表格顯示。
- 我們將使用addColumn()方法新增列,以建立四個列。我們將它們命名為“語言/技術”、“文字教程”、“影片教程”和“面試問答”,以便清楚地對資料進行分類。
- 使用addRow()方法新增九行資料。每一行都將包含不同的技術相關資訊。
- 呼叫setRowHeight()來增加每一行的高度。這使得文字更容易閱讀,並改善了表格的整體外觀。
- 建立一個JFrame,新增包裝在JScrollPane中的表格以允許滾動(如果需要),然後使框架可見,以便向用戶顯示我們的表格。
示例
讓我們首先檢視一個顯示包含行和列的表格的示例。此處的表格有9行:
package my;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class SwingDemo {
public static void main(String[] argv) throws Exception {
DefaultTableModel tableModel = new DefaultTableModel();
JTable table = new JTable(tableModel);
tableModel.addColumn("Language/ Technology");
tableModel.addColumn("Text Tutorial");
tableModel.addColumn("Video Tutorial");
tableModel.addColumn("Interview QA");
tableModel.addRow(new Object[] { "Blockchain", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "C#", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "Java", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "NodeJS", "No", "Yes", "Yes"});
tableModel.addRow(new Object[] { "MVC", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "ASP.NET", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "F#", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "SharePoint", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "AWS", "No", "No", "Yes"});
table.setRowHeight(table.getRowHeight() + 10);
JFrame f = new JFrame();
f.setSize(600, 400);
f.add(new JScrollPane(table));
f.setVisible(true);
}
}
輸出
輸出如下。第一行是“區塊鏈”:

從JTable中刪除第一行
以下是從JTable中刪除第一行的步驟:
- 匯入與前一個程式相同的類,包括來自javax.swing包的JFrame、JTable、JScrollPane和DefaultTableModel,以處理我們的GUI元件。
- 設定一個新的DefaultTableModel。這將允許我們像以前一樣管理表格的資料。
- 建立一個JTable物件並向其中新增相同的四個列:“語言/技術”、“文字教程”、“影片教程”和“面試問答”。這使我們的資料保持井然有序。
- 使用addRow()方法新增相同的九行技術相關資料,確保與之前的示例保持一致。
- 在DefaultTableModel上呼叫removeRow(0)以從表格中刪除第一行。這將更新我們的表格,使其僅顯示剩餘的行。
- 建立一個JFrame,將修改後的表格新增到JScrollPane中以允許滾動,然後將框架設定為可見,以便向用戶顯示更新後的表格。
示例
在給定的程式中,我們將刪除第一行。刪除後,上述表格中的總行數將為8:
package my;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class SwingDemo {
public static void main(String[] argv) throws Exception {
DefaultTableModel tableModel = new DefaultTableModel();
JTable table = new JTable(tableModel);
tableModel.addColumn("Language/ Technology");
tableModel.addColumn("Text Tutorial");
tableModel.addColumn("Video Tutorial");
tableModel.addColumn("Interview QA");
tableModel.addRow(new Object[] { "Blockchain", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "C#", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "Java", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "NodeJS", "No", "Yes", "Yes"});
tableModel.addRow(new Object[] { "MVC", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "ASP.NET", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "F#", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "SharePoint", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "AWS", "No", "No", "Yes"});
table.setRowHeight(table.getRowHeight() + 10);
// remove first row from the table
tableModel.removeRow(0);
JFrame f = new JFrame();
f.setSize(600, 400);
f.add(new JScrollPane(table));
f.setVisible(true);
}
}
輸出
現在的輸出將顯示我們已成功刪除第一行,其餘8行將可見:

廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP