JTable wyłączenie edycji komórek [SOLVED]

0

mam taki problem potrzebuje zrobić tabele, która nie pozwala edytować komórek.
Przykładowo mam taki kod:

public class TableTest extends JFrame{
	public static void main(String[] args) {
		TableTest t = new TableTest();
		t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		t.setVisible(true);
	}
	public TableTest() {
		setSize(new Dimension(300, 100));
		Object [] col = new Object[]{"Kol 1","Kol 2","Kol 3"};
		Object [][]date = new Object[][]{{"cos1","cos2","cos3"},{"ktos1","ktos2","ktos3"}};
		TableModel model = new DefaultTableModel(date,col);
		JTable tabela = new JTable(model);
		add(new JScrollPane(tabela));	
	}
}

Wybrana komórka nie może być edytowalna, ale nie mogę skorzystać z setEditable()
ponieważ mam listenery na wierszach.
Ma ktoś jakiś pomysł

0

Przeładuj metodę isCellEditable(int rowIndex,int colIndex) modelu.

0

Jak by ktoś był kiedyś zainteresowany

public class Test extends JFrame{
		class MyModel extends DefaultTableModel{
			public MyModel(Object [][] data, Object [] col) {
				super(data,col);
			}		
			@Override
			public boolean isCellEditable(int row, int column) {
				return false;
			}
		}
        public static void main(String[] args) {
                Test t = new Test();
                t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                t.setVisible(true);
        }
        public Test() {
                setSize(new Dimension(300, 100));
                Object [] col = new Object[]{"Kol 1","Kol 2","Kol 3"};
                Object [][]date = new Object[][]{{"cos1","cos2","cos3"},{"ktos1","ktos2","ktos3"}};
                MyModel model = new MyModel(date,col);
                JTable tabela = new JTable(model);
                add(new JScrollPane(tabela));       
        }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1