使用DefaultTableModel從表格中刪除第一行 的Java程式


在這篇文章中,我們將學習如何使用JTable元件Java中顯示包含多行多列的表格。此外,我們將演示如何使用removeRow()方法從表格中刪除第一行。第一個程式展示瞭如何建立和顯示一個包含9行的表格,第二個程式演示瞭如何刪除第一行,留下其餘的8行。

使用JTable建立包含行和列的表格

以下是使用JTable建立包含行和列的表格的步驟:

  • 首先匯入必要的類,例如來自javax.swing包JFrameJTableJScrollPaneDefaultTableModel,以便使用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行將可見:

更新於:2024年10月23日

606 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.