Swing Spalten-Position nach verschieben

OlliL

Bekanntes Mitglied
Hallo,

ich habe in einem JPanel eine JTable mit mehren Spalten sowie einen "Speichern"-Knopf.
Meine Zellen-Validierung erfolgt in einem eigenen CellEditor welche bei Fehleingabe das betroffene Feld umrandet, eine Fehlermeldung ausgibt und den User nicht aus dem Feld läßt.

Wenn ich nun aber z.B. 2 meiner Spalten korrekt befuelle, die anderen (Pflicht)Spalten aber gar nicht erst editiere, sondern sofort auf "Speichern" klicke, stelle ich zwar beim durchlaufen im Controller des Models der View fest, das weitere Pflichtspalten leer sind, weiss aber nicht wie ich das gescheit dem User anzeigen soll.

Ich wuerde nun gerne aus meinem Controller heraus beim feststellen des Fehlers genauso wie in meinem CellEditor in das Feld springen, es rot umranden und die Fehlermeldung ausgeben.

Ich habe dazu in meiner View folgende Funktion erzeugt:

Java:
	public void errorCell(int row, int col) {
        table.editCellAt(row, col);
        table.getCellEditor().stopCellEditing();
		
	}

Dadurch möchte ich erreichen, das ich in die vom Controller festgestellte fehlerhafte Zelle springe, in den Editor-Modus gehe und Ihn sofort danach wieder verlasse um die im CellEditor hinterlegten Validierungen auszuführen (welche dann Alarm schlagen).

Soweit so gut (hoffe ich ;)). Es scheint jedenfalls zu funktionieren.

Aber - wenn ich nun als Anwender die Spalten meiner Tabelle verschiebe - wie kann ich dann die Spaltennummer rausfinden? Ich habe in meinem TableModel Konstanten für den Spaltenindex definiert. Vom aktuellen Spalten-Index zu dem aus dem Table Model zu kommen ist recht einfach:

Java:
table.getColumnModel().getColumn(c).getModelIndex()

nur - wie geht es anders herum? also ich habe den ModelIndex, will aber den ColumnIndex der Tabelle rausfinden? Über den Spaltennamen zu suchen oder mit einem loop alle durchzulaufen find ich nicht so prickelnd.
 
Zuletzt bearbeitet:

TiGreen

Mitglied
Java:
        table.getColumnModel().getColumnIndex(Object x);
oder das ...
Java:
     table.getColumnModel().getColumnIndexAtX(int pos);
 

OlliL

Bekanntes Mitglied
Hilft beides nicht.

getColumnIndex() erwartet den Identifier, also die "Überschrift" der Spalte. getColumnIndexAtX() erwartet die X-Positionsangabe die ich natürlich nicht habe.

Habe es jetzt erstmal so gelöst bis einem was besseres einfällt ;)

Java:
	public void errorCell(int row, int col) {
		int realCol = col;
		
		for(realCol=0;realCol < table.getColumnCount();realCol++) {
			if( table.getColumnModel().getColumn(realCol).getModelIndex() == col) {
				break;
			}
		}
		table.editCellAt(row, realCol);
		table.getCellEditor().stopCellEditing();
	}
 

OlliL

Bekanntes Mitglied
leider nicht ganz, ich bräuchte es genau anders herum sowas wie convertModelToColumnIndex ;)
Ich habe den Model-Index und will wissen wo sich dieser gerade in meiner Tabelle befindet.

Edit: convertColumnIndexToView() scheint genau das zu machen was ich suche :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Encera TableView Zeilen als Spalten im SceneBuilder AWT, Swing, JavaFX & SWT 0
W JavaFX JavaFX - Spalten auf ganze SpreadsheetView verteilen AWT, Swing, JavaFX & SWT 16
H automatische Anzahl der Spalten ermitteln -> geht nicht AWT, Swing, JavaFX & SWT 6
ralfb1105 JavaFX Dynamisch TableView Spalten erstellen AWT, Swing, JavaFX & SWT 4
L JavaFX Gridpane mit gleich großen Spalten AWT, Swing, JavaFX & SWT 23
K TreeTableView (cellFactory) - wie Daten in Spalten einfügen AWT, Swing, JavaFX & SWT 0
H TableView mit variabler Anzahl Spalten AWT, Swing, JavaFX & SWT 2
R Swing JTable : Header der Spalten ergänzen mit caption (wie bei html-table) AWT, Swing, JavaFX & SWT 2
S JComboBox mit mehreren Spalten? AWT, Swing, JavaFX & SWT 6
D Swing Bestimmte Berechnung von Spalten durchführen und dann die Zeilen nach bestimmten Kriterien einfärben AWT, Swing, JavaFX & SWT 5
K JavaFX Spalten der Tabellen verschieben AWT, Swing, JavaFX & SWT 2
W JTable erstellen und Spalten sortieren AWT, Swing, JavaFX & SWT 2
I JTable Spalten automatisch dem Inhalt anpassen! AWT, Swing, JavaFX & SWT 6
M JTable mit wechselnden Spalten - sehr Langsam AWT, Swing, JavaFX & SWT 5
O Swing JTable spalten sollen Links stehen AWT, Swing, JavaFX & SWT 5
T Spaltengröße einzelner Spalten in Gridlayout festlegen AWT, Swing, JavaFX & SWT 3
M Swing JTable - Umsortieren einzelner Spalten unterbinden AWT, Swing, JavaFX & SWT 6
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
J Swing JTable: Komplette Zeile aber ohne Spalten markieren AWT, Swing, JavaFX & SWT 11
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
P Liste mit Icons und mehreren Spalten AWT, Swing, JavaFX & SWT 7
B JTable Zeilen und Spalten selektieren AWT, Swing, JavaFX & SWT 5
G LayoutManager Layout für Spalten AWT, Swing, JavaFX & SWT 8
I jList mit Spalten AWT, Swing, JavaFX & SWT 3
G Swing JTextArea mit fester Anzahl Spalten! AWT, Swing, JavaFX & SWT 10
C [Swing] JList JText 2 Spalten Modell prozentual verteilen AWT, Swing, JavaFX & SWT 2
D JTabel: Überschrift, Abstand zwischen Tabellen, Spalten-Farbe ändern AWT, Swing, JavaFX & SWT 2
B Swing GridLayout.add über 2 Spalten? AWT, Swing, JavaFX & SWT 7
M Sortierung und Vertauschen von Spalten in JTable AWT, Swing, JavaFX & SWT 6
F Spalten in JTable immer am rechten Tabellenrand AWT, Swing, JavaFX & SWT 3
B Swing JTable Spalten namen AWT, Swing, JavaFX & SWT 10
E Swing JTable Spalten ausblenden?! AWT, Swing, JavaFX & SWT 3
T jTable und farbige Spalten AWT, Swing, JavaFX & SWT 18
P GridBagLayout - zwei Spalten mit gleicher Größe AWT, Swing, JavaFX & SWT 11
B Swing JTable mit scrollbalken anhand von Spalten AWT, Swing, JavaFX & SWT 3
B Swing JTable Spalten merken AWT, Swing, JavaFX & SWT 6
E JTable nach mehreren Spalten sortieren AWT, Swing, JavaFX & SWT 14
B SWT SWT Tree mit mehreren Spalten AWT, Swing, JavaFX & SWT 3
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
H Swing TableCellRenderer für verschiedene Spalten AWT, Swing, JavaFX & SWT 11
J Swing JComboBox mit mehreren Spalten AWT, Swing, JavaFX & SWT 4
D Layout 2 unterschiedliche spalten AWT, Swing, JavaFX & SWT 7
S Swing JTable: Spalten mit relativer Breite im ungleichmäßigen Verhältnis AWT, Swing, JavaFX & SWT 2
G Tabelle Spalten unsichtbar machen AWT, Swing, JavaFX & SWT 5
D JTable Viewport - Ausgabe der sichtbaren Spalten AWT, Swing, JavaFX & SWT 2
K JTable Spalten nicht verschieben AWT, Swing, JavaFX & SWT 2
G JTable fixierte Spalten AWT, Swing, JavaFX & SWT 2
G TableModel mit anderen Spalten AWT, Swing, JavaFX & SWT 4
G JTable: Spalten & Zellen fixieren wie in Excel AWT, Swing, JavaFX & SWT 4
Tom299 JTable - Spalten verschieben deaktivieren? AWT, Swing, JavaFX & SWT 3
K kopf einer tabelle über mehrere spalten AWT, Swing, JavaFX & SWT 3
M JFace TableViewer + ContentProvider, wo sind die Spalten? AWT, Swing, JavaFX & SWT 6
E Spalten Farbe ändern AWT, Swing, JavaFX & SWT 3
ARadauer spalten überschriften von jtable sehr klein AWT, Swing, JavaFX & SWT 2
N JComboBox mit mehreren Spalten AWT, Swing, JavaFX & SWT 21
M JDBC + dynamischer JTable - Spalten problem AWT, Swing, JavaFX & SWT 5
O JTable, mehrere Spalten drucken AWT, Swing, JavaFX & SWT 4
B JTable mehrere Spalten | wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
N JTable Abstand zwischen einzelnen Spalten AWT, Swing, JavaFX & SWT 6
B Eine Spalte in drei verschiedenlange Spalten aufteilen AWT, Swing, JavaFX & SWT 2
J Zwei-Spalten Layout [Swing] AWT, Swing, JavaFX & SWT 3
A Bestimmte Spalten nicht editierbar machen AWT, Swing, JavaFX & SWT 6
S JTable - Spalten fixieren AWT, Swing, JavaFX & SWT 11
X JTable --> Anzahl der Spalten ändern AWT, Swing, JavaFX & SWT 8
L Tabelle mit 5 spalten und 2 Zeilen erzeugen AWT, Swing, JavaFX & SWT 4
R JList mit zwei Spalten AWT, Swing, JavaFX & SWT 2
N Beim Ziehen der Spalten immer ArrayIndexOutOfBoundsException AWT, Swing, JavaFX & SWT 4
T JList mit mehreren spalten AWT, Swing, JavaFX & SWT 2
borobudur zwei Spalten-Titeln bei JTable AWT, Swing, JavaFX & SWT 2
V Bestimmte Spalten im JTable nicht anzeigen AWT, Swing, JavaFX & SWT 2
L Header von ausgewählte Spalten ausgeben AWT, Swing, JavaFX & SWT 6
L Inhalt von ausgewählte Spalten aus JTable abfragen AWT, Swing, JavaFX & SWT 4
S JTable, mehrere Spalten/Zeilen zeitlich versetzt hinzufügen AWT, Swing, JavaFX & SWT 6
P TableCellRender für ALLE Spalten AWT, Swing, JavaFX & SWT 10
J JTable - Header über mehrere Spalten AWT, Swing, JavaFX & SWT 3
G JTable zur Laufzeit Spalten und Zeilen hinzufügen AWT, Swing, JavaFX & SWT 7
M Listbox mit 4 Spalten AWT, Swing, JavaFX & SWT 3
G Zweizeilige Spalten-Überschrift bei JTable AWT, Swing, JavaFX & SWT 2
R Mehrzeilige Darstellung von Spalten in SWING-Tabellen AWT, Swing, JavaFX & SWT 5
G Spalten und Zeilen bei GridBagLayout AWT, Swing, JavaFX & SWT 3
G AWT: List mehrere Spalten. AWT, Swing, JavaFX & SWT 8
Student JTable - Zeilen und Spalten vertauschen AWT, Swing, JavaFX & SWT 4
C JTable: Einzelne Spalten nicht editierbar machen AWT, Swing, JavaFX & SWT 2
P JTable nach mehreren Spalten sortieren AWT, Swing, JavaFX & SWT 15
D JTable Spalten mit Namen während der Programmlaufzeit hinzuf AWT, Swing, JavaFX & SWT 5
M Index von verschobenen Spalten (JTable) AWT, Swing, JavaFX & SWT 19
N javafx Position der Bustaben finden label AWT, Swing, JavaFX & SWT 1
D JInternalFrame wechselt Position beim ersten Click AWT, Swing, JavaFX & SWT 0
S GUI Kreuz zeichnen und Position ausgeben AWT, Swing, JavaFX & SWT 3
C JavaFX Window-Position AWT, Swing, JavaFX & SWT 3
E JavaFX Cursor-Position im ScrollPane AWT, Swing, JavaFX & SWT 0
J BorderPane Position AWT, Swing, JavaFX & SWT 3
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
A Swing JFrame neuzeichnen lassen, position neu berechnen lassen? AWT, Swing, JavaFX & SWT 9
F JavaFX Timeline Animation soll X- und Y-Position während Animation ändern AWT, Swing, JavaFX & SWT 2
F JavaFX Position von Image angeben/verändern AWT, Swing, JavaFX & SWT 2
F JScrollPane Position setzen (x=0, y=0) AWT, Swing, JavaFX & SWT 2
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
T SWT Wie kriege ich die Position des Textfeldes raus? AWT, Swing, JavaFX & SWT 19
C LayoutManager JFrame größe und ausrichtung + Position von Fensterelementen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben