Java
 Computer >> コンピューター >  >> プログラミング >> Java

JTableにJavaで空のセルがあるかどうかを検証するにはどうすればよいですか?


JTable JComponentのサブクラスです 複雑なデータ構造を表示するためのクラス。 JTableは、 Model View Controller(MVC)に従うことができます 行と列にデータを表示するためのデザインパターン 。 JTable TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListenerを生成します およびRowSorterListener インターフェイス。

getValueAt()を実装することで、JTableセルが空かどうかを検証できます。 JTableのメソッド クラス。 「ここをクリック」をクリックすると 「」ボタンをクリックすると、アクションイベントが生成され、「フィールドが空です」のようなポップアップメッセージが表示されます。 "ユーザーに。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class JTableEmptyValidateTest extends JFrame {
   private JPanel panel;
   private JTable table;
   private JButton button;
   String[] columnNames = new String[] {"Student 1", "Student 2"};
   String[][] dataValues = new String[][] {{"95", "100"}, {"", "85"}, {"80", "100"}};
   public JTableEmptyValidateTest() {
      setTitle("Empty Validation Table");
      panel = new JPanel();
      table = new JTable();
      TableModel model = new myTableModel();
      table.setModel(model);
      panel.add(new JScrollPane(table));
      button = new JButton("Click Here");
      button.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent event) {
            if(validCheck()) {
               JOptionPane.showMessageDialog(null,"Field is filled up");
            } else {
               JOptionPane.showMessageDialog(null, "Field is empty");
            }
         }
      });
      add(panel, BorderLayout.CENTER);
      add(button, BorderLayout.SOUTH);
      setSize(470, 300);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public boolean validCheck() {
      if(table.getCellEditor()!= null) {
         table.getCellEditor().stopCellEditing();
      }
      for(int i=0; i < table.getRowCount(); i++) {
         for(int j=0; j < table.getColumnCount(); j++) {
            String value = table.getValueAt(i,j).toString();
            if(value.trim().length() == 0) {
               return false;
            }
         }
      }
      return true;
   }
   class myTableModel extends DefaultTableModel {
      myTableModel() {
         super(dataValues, columnNames);
      }
      public boolean isCellEditable(int row, int cols) {
         return true;
      }
   }
   public static void main(String args[]) {
      new JTableEmptyValidateTest();
   }
}
出力

JTableにJavaで空のセルがあるかどうかを検証するにはどうすればよいですか?


  1. JavaのJTableセル内にJCheckBoxを追加/挿入するにはどうすればよいですか?

    JTable JComponentのサブクラスです クラスであり、複数の行に情報が表示されたテーブルを作成するために使用できます。 および列 。 JTableから値を選択すると、 TableModelEvent が生成され、 TableModelListenerを実装することで処理されます インターフェース。 チェックボックスを追加または挿入できます getColumnClass()を実装してJTableセル内に クラスのメソッド タイプ。 例 import java.awt.*; import java.util.*; import javax.swing.*; import jav

  2. JavaでJTableの各列幅を変更するにはどうすればよいですか?

    JTable JTable JComponentのサブクラスです 複雑なデータ構造を表示するため。 JTable Model View Controller(MVC)デザインパターンに従うことができます 行にデータを表示するため および列 。 DefaultTableModel クラスはAbstractTableModelを拡張できます また、行と列を JTableに追加するために使用できます。 動的に。 DefaultTableCellRenderer クラスはJLabelを拡張できます クラスであり、画像を追加するために使用できます 、色付きのテキスト J