Swing JTable nicht editierbar

G

Gast2

Gast
Hallo zusammen,

hab schon lange nichts mehr mit Swing Tabellen gemacht. Ist es möglich, dass man eine Row, die nicht edtierbar ist:
1. "ausgrauen" lassen sowie es bei Buttons usw. üblich ist?
2. Nicht anklickbar machen?

Danke für Vorschläge
 
T

Tomate_Salat

Gast
So könntest du es lösen:
Java:
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;

public class TableDemo 
{
	public static void main(String[] args)  
	{
		final JFrame frame=new JFrame("Table Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		MyTable table=new MyTable();
		table.setPreferredSize(new Dimension(400, 600));
		frame.add(new JScrollPane(table));
		
		SwingUtilities.invokeLater(new Runnable() {
			@Override
			public void run() {
				frame.pack();
				frame.setLocationRelativeTo(null);
				frame.setVisible(true);
			}
		});
	}
}

class MyTable extends JTable
{
	private static final long serialVersionUID = 1L;
	private DefaultTableModel model=new DefaultTableModel();
	
	public MyTable() {
		model.addColumn("Alpha");
		model.addColumn("Beta");
		model.addColumn("Gamma");
		
		for(int i=0;i<20;i++) {
			model.addRow(new Object[] {"a","b","c"});
		}
		
		setModel(model);
		
		TableCellRenderer renderer=new MyTableRenderer();
		getColumn("Alpha").setCellRenderer(renderer);
		getColumn("Beta").setCellRenderer(renderer);
		getColumn("Gamma").setCellRenderer(renderer);
	}
	
	public boolean isRowEditable(int row)
	{
		return row== 1 ? true : false;
	}
	
	@Override
	public boolean isCellEditable(int row, int column) 
	{
		return isRowEditable(row);
	}
}

class MyTableRenderer extends DefaultTableCellRenderer
{
	private static final long serialVersionUID = 1L;
	Color def;
	
	@Override
	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 
	{
		Component comp=super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
		
		if(def==null)
			def=comp.getBackground();
		
		if(table instanceof MyTable) {
			if(((MyTable)table).isRowEditable(row))
				comp.setBackground(def);
			else
				comp.setBackground(Color.GRAY);
		}
		
		return comp;
	}
}

Du hängst dich an den Renderer und fügst der JTable eben noch eine Methode hinzu, welche eine Row prüft (letztendlich könntest du es auch mit einem standard-table lösen und die editierbarkeit der Zellen prüfen).
 
G

Gast2

Gast
So ähnlich habe ich es auch gelöst =). Habe aber den Foreground verändert anstatt den Background hat mir besser gefallen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JTable Zellinhalt markierbar aber nicht editierbar AWT, Swing, JavaFX & SWT 4
X JTable Zellen nicht editierbar AWT, Swing, JavaFX & SWT 5
G JTable in Spalte von anderer JTable nicht editierbar AWT, Swing, JavaFX & SWT 7
S JTable soll nicht mehr editierbar sein! AWT, Swing, JavaFX & SWT 2
O JTable - Nicht editierbar aber anwählbar? AWT, Swing, JavaFX & SWT 7
W Problem/Absturz bei Zelle nicht editierbar setzen (JTable) AWT, Swing, JavaFX & SWT 6
C JTable: Einzelne Spalten nicht editierbar machen AWT, Swing, JavaFX & SWT 2
W JTable: Zeilen nicht editierbar setzen AWT, Swing, JavaFX & SWT 6
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
M JTable.setDefaultRenderer(...) greift nicht AWT, Swing, JavaFX & SWT 0
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
B JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
Thallius Warum refrehsed mein JTable nicht? AWT, Swing, JavaFX & SWT 5
K JTable getValueAt() klappt nicht immer AWT, Swing, JavaFX & SWT 1
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
T Swing JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
O JTable linksbündig drucken (nicht der Zelleninhalt) AWT, Swing, JavaFX & SWT 2
L Swing JTable refresht die Column Namen nicht AWT, Swing, JavaFX & SWT 0
S JTable übernimmt Änderungen nicht AWT, Swing, JavaFX & SWT 2
J Swing JTable Zeile nicht auswählbar machen AWT, Swing, JavaFX & SWT 0
G JTable als fixierte Spalte in Scrollpane scrollt nicht mit... AWT, Swing, JavaFX & SWT 1
M JList wird angezeigt, JTable (DefaultTableModel) nicht AWT, Swing, JavaFX & SWT 7
M "Update" der JTable funktioniert nicht AWT, Swing, JavaFX & SWT 2
S JTable nach aktualisierung - neue Zeile nicht "klickbar" AWT, Swing, JavaFX & SWT 0
D Swing Letzte Zeile einer JTable nicht über RowSorter sotieren AWT, Swing, JavaFX & SWT 2
D JTable markier- aber nicht veränderbar AWT, Swing, JavaFX & SWT 10
A remove(Component) funktioniert nicht; JTable AWT, Swing, JavaFX & SWT 4
M Swing JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
Q Swing MouseListener auf JTable geht nicht AWT, Swing, JavaFX & SWT 2
A Swing JTable wird nicht über zurückegebene Referenz geaddet.Wieso nicht? AWT, Swing, JavaFX & SWT 5
0 JTable Spaltenbreite automatisch an Inhalt anpassne geht nicht AWT, Swing, JavaFX & SWT 3
D JTable Columns wollen einfach nicht resizen AWT, Swing, JavaFX & SWT 5
W Neues TableModel und JTable wird nicht refreshed AWT, Swing, JavaFX & SWT 3
T jTable Spaltenbreite lässt sich nicht ändern AWT, Swing, JavaFX & SWT 8
D Jtable mit Dropdown Menü erweitern funktioniert nicht AWT, Swing, JavaFX & SWT 5
M JTable übernimmt Hintergrundfabe nicht AWT, Swing, JavaFX & SWT 7
L JTable nicht komplett scroll bar AWT, Swing, JavaFX & SWT 5
X JTable Selektierte Reihe kann nicht gelöscht werden AWT, Swing, JavaFX & SWT 2
bERt0r Swing JTable.setDefaultRenderer funktioniert nicht AWT, Swing, JavaFX & SWT 3
T iText - JTable to PDF - titel werden nicht angezeigt AWT, Swing, JavaFX & SWT 3
C Swing JTable verbindet sich nicht mit Model AWT, Swing, JavaFX & SWT 20
P Swing Jtable mit Delete Button (Button verschwindet nicht bei Delete)) AWT, Swing, JavaFX & SWT 5
K JTable im Browser nicht zu sehen - Applet AWT, Swing, JavaFX & SWT 6
C Daten aus DB -> JTable aktualisieren klappt nicht AWT, Swing, JavaFX & SWT 16
S JTable - Auf spezielle Eingabe nicht reagieren. AWT, Swing, JavaFX & SWT 5
Spin JTable Header wird nicht angezeigt ohne ScrollPane AWT, Swing, JavaFX & SWT 3
F JTable soll mit Buttons befüllt werden, aber nicht in jede Zelle einer Spalte AWT, Swing, JavaFX & SWT 3
GianaSisters Swing ComboBox im jTable (in bestimmter Zelle nicht über die ganze Spalte) AWT, Swing, JavaFX & SWT 4
F Swing JTable.setCellEditor funktioniert nicht AWT, Swing, JavaFX & SWT 2
M Swing CheckBoxen werden nicht in jTable angezeigt AWT, Swing, JavaFX & SWT 3
C JButton in JTable ist nicht klickbar AWT, Swing, JavaFX & SWT 4
C Swing Inhalt einer JTable aktualisieren und filten nach Feldern die nicht in der Tabelle sind AWT, Swing, JavaFX & SWT 3
xehpuk Swing JScrollBar wird nicht eingeblendet, wenn JTable befüllt wird AWT, Swing, JavaFX & SWT 4
vandread Swing JTable / DefaultTableModelwird nicht mit sortiert AWT, Swing, JavaFX & SWT 2
K JTable wird nicht aktualisiert, wenn Filter gesetzt ist AWT, Swing, JavaFX & SWT 9
E Swing JTable MousePosition nicht lesbar?! AWT, Swing, JavaFX & SWT 4
E Swing JComboBox als CellEditor in JTable zeigt Elemente nicht sofort an AWT, Swing, JavaFX & SWT 5
S Jtable wird nicht aktualisiert AWT, Swing, JavaFX & SWT 8
C JTable in JFrame wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
L Daten werden in JTable nicht angezeigt:( AWT, Swing, JavaFX & SWT 6
C JTable markierte Zelle wird bei removeRow nicht mit gelöscht AWT, Swing, JavaFX & SWT 6
T JTable mit Renderer sortiert die gerenderte Spalte nicht richtig AWT, Swing, JavaFX & SWT 2
hdi Swing JTable & Filtern: Daten nicht in der View AWT, Swing, JavaFX & SWT 2
H Swing Jtable wird nicht angezeigt..hilfe!! AWT, Swing, JavaFX & SWT 16
B JTable, Spalte nicht verschiebbar AWT, Swing, JavaFX & SWT 2
B Swing Einzelne Zelle in JTable soll NICHT auswählbar sein AWT, Swing, JavaFX & SWT 9
G Swing JTable will sich einfach nicht aktualisieren AWT, Swing, JavaFX & SWT 4
raptorrs Swing MouseListener reagiert nicht auf Instanz einer JTable AWT, Swing, JavaFX & SWT 6
P finde den Fehler im JTable nicht AWT, Swing, JavaFX & SWT 2
Roumeo Swing Verzweifle: JTable funktioniert nicht ganz wie es soll... AWT, Swing, JavaFX & SWT 12
calzone Swing JTable, Werte aktualisieren klappt nicht! AWT, Swing, JavaFX & SWT 7
A Swing JTable wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 3
J JTable - Spaltenzellen nicht fokusierbar machen AWT, Swing, JavaFX & SWT 15
T JTable - Einzelne Spalte nicht sortieren? AWT, Swing, JavaFX & SWT 2
J JTable Model laesst sich nicht serialisieren? AWT, Swing, JavaFX & SWT 16
A JTable im JTabbedPane -> Überschriften werden nicht angez AWT, Swing, JavaFX & SWT 2
O JTable RowSelection funktioniert nicht nach ColumSort AWT, Swing, JavaFX & SWT 2
G JTable - getRowCount() funktioniert nicht AWT, Swing, JavaFX & SWT 2
P JTable: nicht im gewünschten Look&Feel AWT, Swing, JavaFX & SWT 3
O Hgr- Farbe einer JTable ändert sich nicht AWT, Swing, JavaFX & SWT 11
S JTable nimmt TableModel nicht an AWT, Swing, JavaFX & SWT 4
S JTable Werte werden nicht übernommen AWT, Swing, JavaFX & SWT 2
A JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
G JTable - prepareRenderer() überschreiben klappt nicht AWT, Swing, JavaFX & SWT 2
K JTable Spalten nicht verschieben AWT, Swing, JavaFX & SWT 2
C JTable aktualisiert die Anzeige nicht AWT, Swing, JavaFX & SWT 2
M JTable wird in JFrame nicht angezeigt (händisch) AWT, Swing, JavaFX & SWT 6
G JTable spaltennamen ändern sich nicht AWT, Swing, JavaFX & SWT 4
P jTable mit Model lässt sich nicht neu laden AWT, Swing, JavaFX & SWT 5
G JTable (AbstractTableModel) wird nicht aktualisiert AWT, Swing, JavaFX & SWT 2
M JTable & Problem, das nicht die komplette Zeile gefärbt AWT, Swing, JavaFX & SWT 6
J jTable Daten werden nicht sofort sichtbar AWT, Swing, JavaFX & SWT 5
M JTable soll nicht bearbeitbar sein AWT, Swing, JavaFX & SWT 2
D jTable ausdrucken => € zeichen wird nicht richtig angezei AWT, Swing, JavaFX & SWT 7
J JTable skaliert nicht beim Fenstergroessenveraendern AWT, Swing, JavaFX & SWT 2
N JTable zeigt ColumnHeaders nicht an AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben