Swing JTable - Zelle fokussieren

OlliL

Bekanntes Mitglied
Hallo,

nach dem Verlassen einer Zelle findet eine Fehlerprüfung statt. Sollte diese einen Fehler feststellen, möchte ich, dass der User wieder zurück in die Zelle gebracht wird. Er soll quasi am Verlassen der Zelle gehindert werden, bis der Eingabefehler behoben ist.

Das Fehlerhandling ist mittels Observer gelöst.

Die update Funktion in meiner View:

Java:
	public void update(Observable obs, Object obj) {
		GuiError error;
		
		if( obj instanceof GuiError) {
			error = (GuiError) obj;
			if(!error.getText().trim().isEmpty()) {
				errorLabel.setText(error.getText());
				table.editCellAt(error.getRow(), error.getCol());
				System.out.println(error.getRow()+" "+error.getCol());
			}
		}
	}

Wenn der Anwender nun Feld A nach einem Eingabefehler verlässt und den Fokus auf Feld B setzt, wird mit dem aktuellen Code 766 mal update() ausgeführt, und danach landet der User trotzdem in Feld B. Irgendwie scheint editCellAt() nicht das richtige zu sein. Ich habe auch schon mit setcolumnSelectionInterval(), setRowSelectionInterval() bzw. mit changeSelection() rumprobiert. Diese hatten jedoch gar keinen sichtbaren Einfluss.
 

OlliL

Bekanntes Mitglied
Wäre es besser, für jede Spalte einen eigenen CellEditor zu entwerfen welcher dann die feldabhängigen Prüfungen vornimmt? Ich habe es mal mit einer Spalte versucht - dort kann man ja recht einfach das "verlassen" des Feldes verhindern.

Nur jetzt für jede Spalte einen CellEditor zu entwerfen... erscheint mir auch wieder etwas "oversized" und die Validierung selbst habe ich ja "schon" in meinem View-Model-Objekt in den jeweiligen Setter-Funktionen. Die müsste ich dann da herauslösen... erscheint mir nicht so sinnvoll?!

Wie macht man es richtig?
 
Zuletzt bearbeitet:

TKausL

Top Contributor
Muss es unbedingt verhindert werden die Zelle zu verlassen?
Von den meisten anderen Programmen ist man gewohnt, dass der Inhalt der Zelle einfach wieder auf den vorherigen Inhalt gesetzt wird wenn der neue Invalide ist. Sollte auch einfacher umzusetzen sein.
 

OlliL

Bekanntes Mitglied
Das ist mein aktueller Stand. Wenn der eingegebene Wert "invalid" ist, wird der Wert zurück gewiesen, man verläßt die Zelle und der alte Wert steht drinn. Ist aber äußerst unschön wenn du dir jetzt voll die Mühe mit der Eingabe gemacht hast und dann ist alles futsch nur weil du vielleicht ein unerlaubtes Zeichen verwendet hast.

Daher bleibt mein Wunsch bestehen ;)

Gibt es vielleicht eine Möglichkeit im CellEditor in stopCellEditing() zu erfahren welche Column gerade editiert wird? Dann könnte man einen Cell-Editor nehmen und dort drinn ähnlich wie bei setValueAt() über einen switch() Validierungs-Funktionen ausführen anstatt n Celleditoren zu erstellen.
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Nur jetzt für jede Spalte einen CellEditor zu entwerfen... erscheint mir auch wieder etwas "oversized"
Meiner Meinung ist es aber die sauberste Variante einen eigenen CellEditor zu implementieren und darin die stopCellEditing() passend zu überschreiben.
Inwieweit es dann nötig ist für jede Spalte einen CellEditor zu entwerfen? Eventuell gehören alle zu validierenden "Zellen" zum gleichen Typ, dann würde es ja reichen einmal den Editor für diese Klasse zu setzen.
 

OlliL

Bekanntes Mitglied
Hallo Michael,

4 Textfelder. Vom Inhalt her sind es zwei Datumsfelder, ein Betragsfeld und ein Textfeld.
2 Comboboxen
1 Checkbox

Die 3 Textfelder müssen jeweils unterschiedlich validiert werden da ein Datumsfeld optional ist, die anderen 3 Felder Pflichtfelder sind. Das Datumsformat muss sichergestellt sein, beim Betragsfeld muss eine Zahl mit optional Dezimaltrenner und optional Vorzeichen eingegeben werden. Das Textfeld ist lediglich bzgl. "Pflichtfeld" zu validieren.
Bei den Comboboxen muss sichergestellt werden, dass a) überhaupt etwas selektiert wurde (1. Eintrag ist ein "" Eintrag) und b) die Selektion inzwischen noch in der Datenbank vorliegt.

Klingt für mich erstmal nicht so, das man mit 3 Cell-Editoren auskommt sondern 7 braucht, oder woher weiss ich z.B. bei den Textfeldern welches Textfeld jetzt gerade editiert wird?
 

TKausL

Top Contributor
Hallo.

Habe mal etwas rumgespielt:

Java:
	class TModel implements TableModel {
		String[][] t = new String[4][4];
		JTable table;
		public TModel(){
		}
		
		public void setTable(JTable table){
			this.table = table;
		}

		@Override
		public void addTableModelListener(TableModelListener l) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public Class<?> getColumnClass(int columnIndex) {
			// TODO Auto-generated method stub
			return String.class;
		}

		@Override
		public int getColumnCount() {
			// TODO Auto-generated method stub
			return 4;
		}

		@Override
		public String getColumnName(int columnIndex) {
			return "T" + columnIndex;
		}

		@Override
		public int getRowCount() {
			return 4;
		}

		@Override
		public Object getValueAt(int rowIndex, int columnIndex) {
			//System.out.println("Get Value at " + rowIndex + "v" + columnIndex );
			return t[rowIndex][columnIndex] == null ? (rowIndex + "v" + columnIndex):t[rowIndex][columnIndex];
		}

		@Override
		public boolean isCellEditable(int rowIndex, int columnIndex) {
			return true;
		}

		@Override
		public void removeTableModelListener(TableModelListener l) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void setValueAt(Object aValue, final int rowIndex, final int columnIndex) {
			//System.out.println("Table Changed");
			t[rowIndex][columnIndex] = (String) aValue;
			if(!((String)aValue).startsWith("t"))
			SwingUtilities.invokeLater(new Runnable(){

				@Override
				public void run() {
					// TODO Auto-generated method stub
					TModel.this.table.changeSelection(rowIndex, columnIndex, false, false);
					TModel.this.table.editCellAt(rowIndex, columnIndex);
				}});
			
			//this.table.changeSelection(rowIndex, columnIndex, true, false);
			
		}
		
	}

KSKB dazu:

Java:
import java.awt.Component;
import java.util.EventObject;

import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.event.CellEditorListener;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableModel;


public class TableTest {
	public TableTest(){
		JFrame f = new JFrame();
		TModel m = new TModel();
		JTable t = new JTable(m);
		TEditor te = new TEditor();
		//t.setCellEditor(te);
		m.setTable(t);
		te.setTable(t);
		f.add(t);
		f.pack();
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
		
		
	}
	
	public static void main(String[] args) {
		new TableTest();
	}
	
	class TEditor implements TableCellEditor {
		JTable table;
		
		public void setTable(JTable table){
			this.table = table;
		}
		@Override
		public void addCellEditorListener(CellEditorListener arg0) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void cancelCellEditing() {
			// TODO Auto-generated method stub
			
		}

		@Override
		public Object getCellEditorValue() {
			// TODO Auto-generated method stub
			return null;
		}

		@Override
		public boolean isCellEditable(EventObject arg0) {
			// TODO Auto-generated method stub
			return true;
		}

		@Override
		public void removeCellEditorListener(CellEditorListener arg0) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public boolean shouldSelectCell(EventObject arg0) {
			// TODO Auto-generated method stub
			return true;
		}

		@Override
		public boolean stopCellEditing() {
			// TODO Auto-generated method stub
			System.out.println("Return " + this.table.isEditing());
			return this.table.isEditing();
		}

		@Override
		public Component getTableCellEditorComponent(JTable arg0, Object arg1,
				boolean arg2, int arg3, int arg4) {
			// TODO Auto-generated method stub
			return null;
		}
		
	}
	
	
	class TModel implements TableModel {
		String[][] t = new String[4][4];
		JTable table;
		public TModel(){
		}
		
		public void setTable(JTable table){
			this.table = table;
		}

		@Override
		public void addTableModelListener(TableModelListener l) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public Class<?> getColumnClass(int columnIndex) {
			// TODO Auto-generated method stub
			return String.class;
		}

		@Override
		public int getColumnCount() {
			// TODO Auto-generated method stub
			return 4;
		}

		@Override
		public String getColumnName(int columnIndex) {
			return "T" + columnIndex;
		}

		@Override
		public int getRowCount() {
			return 4;
		}

		@Override
		public Object getValueAt(int rowIndex, int columnIndex) {
			//System.out.println("Get Value at " + rowIndex + "v" + columnIndex );
			return t[rowIndex][columnIndex] == null ? (rowIndex + "v" + columnIndex):t[rowIndex][columnIndex];
		}

		@Override
		public boolean isCellEditable(int rowIndex, int columnIndex) {
			return true;
		}

		@Override
		public void removeTableModelListener(TableModelListener l) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void setValueAt(Object aValue, final int rowIndex, final int columnIndex) {
			//System.out.println("Table Changed");
			t[rowIndex][columnIndex] = (String) aValue;
			if(!((String)aValue).startsWith("t"))
			SwingUtilities.invokeLater(new Runnable(){

				@Override
				public void run() {
					// TODO Auto-generated method stub
					TModel.this.table.changeSelection(rowIndex, columnIndex, false, false);
					TModel.this.table.editCellAt(rowIndex, columnIndex);
				}});
			
			//this.table.changeSelection(rowIndex, columnIndex, true, false);
			
		}
		
	}
}

E: Warum will der Spoiler-Tag nicht?
 

OlliL

Bekanntes Mitglied
@TKausL

Damit geht es:

Java:
	public void update(Observable obs, Object obj) {
		
		if( obj instanceof GuiError) {
			final GuiError error = (GuiError) obj;
			if(!error.getText().trim().isEmpty()) {
				errorLabel.setText(error.getText());
	            SwingUtilities.invokeLater(new Runnable(){
	            	 
	                @Override
	                public void run() {
	                    table.changeSelection(error.getRow(), error.getCol(), false, false);
	                    table.editCellAt(error.getRow(), error.getCol());
	                }});

			}
		}
	}

Offensichtlich funktioniert es aber auch nur weil vermutlich update() fertig ist bevor der 2. Thread dann das Zeug in run() ausfuehrt.....

Problematisch ist auch, das er halt vorher wieder ein getValueAt macht und dadurch meine "fehlerhafte" Änderung weg ist, da ich diese ja nicht im TableModel speichere sondern ablehne.

Das Thema mit dem CellEditor würde mich daher interessieren. Wenn es dadurch "sauberer" wird, habe ich nichts dagegen meinen Code nochmal umzustrukturieren. Will nur wissen ob ich für meine in #6 beschriebenen Prüfungen 7 CellEditor brauche oder obs nicht eleganter geht. ;)
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Man man es darauf anlegt könnte man alles in einen CellEditor stecken.
Für die Datumsfelder würde ich dem Anwender sowieso ein DateChooser/Picker als Editor anbieten bzw. einfach aufpoppenlassen.
Aber für ComboBoxen benötigst Du eh einen eigen Editor - ich nehme an jetzt nutzt den DefaultEditor für ComboBox
Bei den Comboboxen muss sichergestellt werden, dass a) überhaupt etwas selektiert wurde (1. Eintrag ist ein "" Eintrag) und b) die Selektion inzwischen noch in der Datenbank vorliegt.
Kann man das evtl. gar nicht erst als Selektionsmöglichkeit anbieten?
oder woher weiss ich z.B. bei den Textfeldern welches Textfeld jetzt gerade editiert wird?
Das könnte man sich "merken", in der getTableCellEditorComponent wird Zeilen und Spaltenindex mitgegeben.
Aber Möglichkeiten unterschiedliche Textfelder unterschiedlich zu validieren gibt es sicher einige.

Wenn die Gültigkeit einzelner Zellwerte von anderen Zellen abhängt, wird es schwierig das mittels CellEditoren zu regeln.
 

OlliL

Bekanntes Mitglied
DateChooser/Picker gucke ich mir mal an.
"" in den ComboBoxen würde ich ungerne "weglassen". Damit wollte ich den Anwender zwingen bewusst etwas auszuwählen.
 

OlliL

Bekanntes Mitglied
Ok, ich kann mir recht Simpel row und column merken über private Klassenvariablen und

Java:
            row = r;
            col = table.getColumnModel().getColumn(c).getModelIndex();

in getTableCellEditorComponent. Das Hexenwerk um col wegen verschiebbaren columns.

Wie sollte ich am besten die Validierung designen? Aktuell habe ich die Validierung in meinem Model der View:

Java:
	public void setCapitalSource(int row, ComboBoxItem capitalSource) {
		error = "";
		if (capitalSource.getId() == 0) {
			error = text.getErrorById(user, 127);
		} else {
			CapitalSource source = capitalSourceDao.getCapitalSourceById(user,
					capitalSource.getId());
			if (source.getCapitalSourceId() > 0) {
				getMoneyFlow(row).setCapitalSource(source);
			} else {
				error = text.getErrorById(user, 181);
			}
		}
		setChanged();
		notifyObservers(new GuiError(error,row,NewMoneyFlowTableModel.CAPITALSOURCE_INDEX));
	}
Code:
INSERT INTO text VALUES (127,2,'Das Feld ''Kapitalquelle'' darf nicht leer sein!','e');
INSERT INTO text VALUES (181,2,'Der Vertragspartner ist nicht gültig am angegebnen Datum','e');

Aktuell wird es halt von setValueAt ausgelöst, und das notifyObservers wird von der View abgearbeitet.
Ich muesste ja nun die Validierung der Daten aus dem Model der View herauslösen und einzelne Funktionen machen welche dann einen gescheiten Return-Wert zurückliefern. (z.B. Error-ID oder 0 bei OK).

Wohin packe ich am besten diese Checks? Mache ich am besten eine "Validierungs-Klasse" welche nur diese Checks enthaellt? Angenommen mein "Business-Objekt" heisst MoneyFlow, habe ich dann quasi eine MoneyFlowValidator Klasse?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
M Wert einer Zelle aus JTable ziehen AWT, Swing, JavaFX & SWT 4
P Fokus auf Zelle in JTable AWT, Swing, JavaFX & SWT 1
LexeB4F Zelle in JTable gezielt einfärben AWT, Swing, JavaFX & SWT 4
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
E JTable Hintergrund von geklickter Zelle ändern AWT, Swing, JavaFX & SWT 2
M JTable: Prüfen ob Zelle leer ist AWT, Swing, JavaFX & SWT 5
L JTable selektierte Zelle in Bearbeitungs Modus AWT, Swing, JavaFX & SWT 2
H Combobox in einer einzelnen Zelle der Jtable AWT, Swing, JavaFX & SWT 2
R Swing Hintergrundfarbe der Zelle in einer JTable bei Markierung AWT, Swing, JavaFX & SWT 2
M Jtable Objecte aus Zelle AWT, Swing, JavaFX & SWT 13
S Swing Zelle einer JTable hervorheben (ohne CellRenderer) AWT, Swing, JavaFX & SWT 3
A JTable Zelle markieren von bis und Löschen AWT, Swing, JavaFX & SWT 6
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
O JButton in Zelle von JTable AWT, Swing, JavaFX & SWT 4
J Zelle eine JTable ändern AWT, Swing, JavaFX & SWT 3
R Drag an Drop JTable Zelle AWT, Swing, JavaFX & SWT 6
T JTable, Popup Fester per Rechtsklick auf Zelle AWT, Swing, JavaFX & SWT 19
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
C Swing JTable zeigt in jeder Zelle einer Reihe denselben Inhalt AWT, Swing, JavaFX & SWT 2
lenniii Zelle in JTable ändern AWT, Swing, JavaFX & SWT 2
J Swing JTable, jede Zelle ein anderer Title im TitledBorder AWT, Swing, JavaFX & SWT 5
S Swing JTable nach einer Änderung einer Zelle komplett aktualisieren. AWT, Swing, JavaFX & SWT 10
N Methode zum ermitteln der editierte Zeile/Zelle in jTable AWT, Swing, JavaFX & SWT 8
C Swing JTable Zelle mit Einfachklick editieren AWT, Swing, JavaFX & SWT 3
C JTable: Mehrere Farben in einer Zelle darstellen AWT, Swing, JavaFX & SWT 10
T Swing JTable - true zurückbekommen, wenn der Cursor in einer Zelle blinkt AWT, Swing, JavaFX & SWT 7
C JTable markierte Zelle wird bei removeRow nicht mit gelöscht AWT, Swing, JavaFX & SWT 6
Dit_ Verschiedene Icons in einer JTable-Zelle AWT, Swing, JavaFX & SWT 2
A JTable Zelle Padding AWT, Swing, JavaFX & SWT 9
R JTable Hintergrund der Zeile abhängig von Inhalt einer Zelle verändern AWT, Swing, JavaFX & SWT 3
S Swing DnD: Wie finde ich heraus, von welcher Zelle aus im JTable der Drag gestartet wurde? AWT, Swing, JavaFX & SWT 3
E Zelle in JTable nach klick markieren AWT, Swing, JavaFX & SWT 2
O JTable Zelle mit "ENTER" in Editmode setzen AWT, Swing, JavaFX & SWT 4
eskimo328 JTable nächste Zelle nach Eingabe einer Ziffer AWT, Swing, JavaFX & SWT 5
B Swing Einzelne Zelle in JTable soll NICHT auswählbar sein AWT, Swing, JavaFX & SWT 9
A Swing JTable Icon nur in einer Zelle AWT, Swing, JavaFX & SWT 2
B Swing JTable merkt sich die zuletzt selektierte Zelle AWT, Swing, JavaFX & SWT 3
T einzelne Zelle einer JTable auswählen und Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
M JTable - verlassen einer Zelle AWT, Swing, JavaFX & SWT 15
R JTable Darstellen der selektierten Zelle braucht lange AWT, Swing, JavaFX & SWT 7
S JTable Probleme wenn ich Zelle verlasse AWT, Swing, JavaFX & SWT 4
S Welches Event beim ändern einer Zelle in einer JTable AWT, Swing, JavaFX & SWT 4
S Welches Event beim auswählen einer Zelle? [JTable] AWT, Swing, JavaFX & SWT 3
A Multiple Zeilen in einer JTable Zelle AWT, Swing, JavaFX & SWT 6
W MouseListener für jede Zelle einer JTable AWT, Swing, JavaFX & SWT 4
V JTable verliert Fokus, wie offene Zelle schliessen? AWT, Swing, JavaFX & SWT 5
G jTable, spezille Zelle automatisch füllen AWT, Swing, JavaFX & SWT 13
J JTable: Einzelne Zelle selektieren AWT, Swing, JavaFX & SWT 6
T JPanel in JTable Zelle adden AWT, Swing, JavaFX & SWT 7
T JTable-Zelle mittels JFileChooser befüllen AWT, Swing, JavaFX & SWT 5
S JTable zwei Text-Zeilen in einer Zelle AWT, Swing, JavaFX & SWT 2
N JTable: Informiert werden, wenn User eine Zelle editiert hat AWT, Swing, JavaFX & SWT 2
M JTable: Editieren einer Zelle "von außen" abbreche AWT, Swing, JavaFX & SWT 2
M JTable Zelle ändern -> andere Zellen mit ändern AWT, Swing, JavaFX & SWT 5
S JCbox in Jtable Zelle nur anzeigen , wenn JCombobox ="a AWT, Swing, JavaFX & SWT 3
S Eine Zeile zu einer JTable hinzufügen wo Zelle selektiert is AWT, Swing, JavaFX & SWT 4
M JTable Zelle editieren AWT, Swing, JavaFX & SWT 2
S jTable Font einer Zelle ändern AWT, Swing, JavaFX & SWT 5
G Bei JTable eine bestimmte Zelle färben AWT, Swing, JavaFX & SWT 11
V JTable Zelle über befehl "selecten"? AWT, Swing, JavaFX & SWT 5
G JTable-Zeile/Zelle markieren und mir Shortcut in Arbeitsspei AWT, Swing, JavaFX & SWT 3
D JTable: Focus auf Zelle markiert ihren Text zum editieren AWT, Swing, JavaFX & SWT 2
S Farbe einer Zelle in JTable ändern AWT, Swing, JavaFX & SWT 13
J JList-Item ind JTable-Zelle auswählen. AWT, Swing, JavaFX & SWT 5
R JTable: Jede Zelle mit eigenem ToolTip belegen AWT, Swing, JavaFX & SWT 5
R Drag & Drop einer einzelnen Zelle (JTable) AWT, Swing, JavaFX & SWT 2
T JTable Focus auf Zelle setzen AWT, Swing, JavaFX & SWT 3
R Focus durch "tabben" von JTable Zelle auf andere K AWT, Swing, JavaFX & SWT 8
V JTable: Bei Klick in Zelle -> Ganze Zeile markeiren AWT, Swing, JavaFX & SWT 7
W JTable und mehrere Components in einer Zelle AWT, Swing, JavaFX & SWT 4
S JTree in einer JTable-Zelle AWT, Swing, JavaFX & SWT 6
G JTable: Rahmen bei Focus um Zelle AWT, Swing, JavaFX & SWT 2
W Problem/Absturz bei Zelle nicht editierbar setzen (JTable) AWT, Swing, JavaFX & SWT 6
R JTable - Boolean-Wert aus Zelle auslesen. AWT, Swing, JavaFX & SWT 9
T "..." am Ende der Zelle in JTable AWT, Swing, JavaFX & SWT 2
G JTable Zeilenumbruch innerhalb einer Zelle bzw. columnHeader AWT, Swing, JavaFX & SWT 1
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben