Manuelles Fokussieren

Status
Nicht offen für weitere Antworten.

CelikBlek

Bekanntes Mitglied
Hallo,

ich habe einen Problem. Ich habe einen JTable dessen Zellen irgendwelche JComponents sind. Rechts von der Tabelle habe ich einen Button über den man neue Zeilen hinzufügen kann.
So da ist auch das Problem. Ich möchte wenn neue Zeile hinzugefügt wird, der auch gleich focussiert ist. Das funktioniert nicht. Die Zeiel lässt sich nicht focussieren. Wie kann ich es manuell focussieren?
Wie gesagt nicht die Tabelle sondern, die JComponent der drin ist soll focussiert werden.

Danke für eure Hilfe
 

thE_29

Top Contributor
Das wird dir helfen

void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
Updates the selection models of the table, depending on the state of the two flags: toggle and extend
 

CelikBlek

Bekanntes Mitglied
ich habe es so ausprobiert:
Code:
m_table.changeSelection(m_table.getRowCount()-1,0,false,false);
da passiert nichts ?!? meine aktuelle zeile bleibt weiterhin selektiert. wenn ich den focusowner ausgebe sagt er, dass die tabelle der owner ist. aber ich brauche ja den componenten in der zelle ? geht das irgendwie?
 

thE_29

Top Contributor
mh, normalerweise sollte er dir die spalte selektieren!

Ist die Componente an der 0ten Stelle?

außerdem nimm

....,false,true);
 

CelikBlek

Bekanntes Mitglied
Ich habe eine Tabelle indem ich als Zellen JTextfields habe. Über einen Button kann ich neue Zeilen hinzufügen. Ich will dass der Cursor sobald man neue Zeile erzeugt, in die neue Zeile navigiert. Die Tabelle ist selber selektiert, aber die Zeile, die ich brauche nicht.
 

CelikBlek

Bekanntes Mitglied
sobald ich eine neue zeile einfüge ermittele ich es anhand den aktuellen index
Code:
m_table.changeSelection(m_table.getRowCount()-1, 0, false, true);
 

thE_29

Top Contributor
das 2te 0 = die Zelle

ist diese Zelle die du selektieren möchtes den auf Index 0?

Nicht Zeile sondern Zelle!!

Und wenn es selektiert ist, schreib mal was, schau wo er reinschreibt!
 

CelikBlek

Bekanntes Mitglied
ist der 2. parameter nicht der spaltenindex ?
also angenommen ich habe zur begin 1 zeile(spalten sind immer 2). sobald ich eine neue zeile hinzufüge soll die spalte 0, die neue zeile selektiert werden. also index:
zeile: m_table.getRowCount()-1
spalte: 0 (immer)
das problem ist egal auf welche werte ich es setze nichts passiert. liegt wahrscheinlich daran, dass der panel irgendwie selektiert ist indem meine tabelle ist. der cursor ist zwar in der zeile aber es lässt sich nichts schreiben.
 

thE_29

Top Contributor
Jo es war blöd ausgedruckt, aber die 2 die sich schneiden ergeben dann halt die Zelle!

Also bei mir gehts halt, warums bei dir net geht kann ich net sagen, ich weiß dass das JTable immer nur stresserei macht, bezüglich Focus und eigentlich fast allen Dingen!
 

CelikBlek

Bekanntes Mitglied
trotzdem danke. ich bräuchte einfach eine methode der heisst takeFocus(x, y) :)
diese focus fummelarbeit geht mir sowieso total aufm sack
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben