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

JavaでJTable内のセル編集を無効にするにはどうすればよいですか?


JTable JComponentのサブクラスです 複雑なデータ構造を表示するため。 JTableは、 Model View Controller(MVC)デザインパターンに従うことができます 行と列にデータを表示するため。 JTableはTableModelListenerを起動できます 、 TableColumnModelListener ListSelectionListener CellEditorListener およびRowSorterListener インターフェイス。デフォルトでは、テキストを編集してJTableセル内で変更できます。 セル編集を無効にすることもできます editCellAt()を呼び出してテーブル内で JTableクラスのメソッドであり、 falseを返す必要があります 。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public final class DisableJTableMouseClickTest extends JFrame {
   private JTable table;
   private JScrollPane scrollPane;
   public DisableJTableMouseClickTest() {
      setTitle("DisableJTableMouseClick Test");
      String[] columnNames = {"Country", "Rank"};
      Object[][] data = {{"England", "1"}, {"India", "2"}, {"New Zealand", "3"}, {"Australia", "4"},       {"South Africa","5"}, {"Pakistan","6"}};
      table = new JTable(data, columnNames) {
         public boolean editCellAt(int row, int column, java.util.EventObject e) {
            return false;
         }
      };
      table.setRowSelectionAllowed(false);
      scrollPane= new JScrollPane(table);
      add(scrollPane);
      setSize(400, 275);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new DisableJTableMouseClickTest();
   }
}

出力

JavaでJTable内のセル編集を無効にするにはどうすればよいですか?


  1. JavaでJFrameの最大化ボタンを無効にするにはどうすればよいですか?

    JFrame javaxのクラスです。スイング パッケージであり、 java.awt.frameを拡張できます クラス。 トップレベルウィンドウです ボーダーとタイトルバー付き。 JFrame クラスには、カスタマイズに使用できる多くのメソッドがあります。 JFrameのサイズを設定した後 サイズを変更するには、カーソルを隅に置いてドラッグするか、右上隅の閉じる横にあるサイズ変更オプションを押すと、全画面のサイズに最大化されます。これは、サイズ変更がデフォルトでtrueに設定されているために発生します JFrameクラスの場合。 setResizable(false)と同じくらいf

  2. JavaでJTextField内の文字数を制限するにはどうすればよいですか?

    JTextFeld は、ユーザーが単一行形式でテキスト値を入力できるようにする最も重要なコンポーネントの1つです。 ユーザーがJTextFieldに入力できる文字数を制限できます PlainDocumentを使用して実現できます クラス。 以下の例では、 PlainDocumentを使用してロジックを実装できます。 クラスであるため、ユーザーは最大10文字を入力できますが、10文字を超える場合は入力できません。 例 import java.awt.*; import javax.swing.*; import javax.swing.text.*; class JTextFieldLi