Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Inhalt einer Zelle eine Table in ein TextField bekommen
Hab ne ScrollPaneTable und möchte jetzt meinetwegen aus der Spalte Server den Namen eines Servers in der ersten Reihe auslesen und den in ein Textfeld befördern.
Jemand ne Ahnung wie es geht,ich nämlich nicht :cry:
eine fehlermeldung kommt nicht. Scheint dem Compiler zu passen.
Nur wenn ich in der Table auf ne Reihe klicke tut er eben nichts rüber in das Textfeld.
Vielleicht stimmt jas was mit dem Listener nicht
ListSelectionModel rowSM = ivjSPTAnzeige.getSelectionModel();
rowSM.addListSelectionListener
(
new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
//Ignore extra messages.
if (e.getValueIsAdjusting()) return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if (lsm.isSelectionEmpty())
{
//no rows are selected
}
else
{
int selectedRow = lsm.getMinSelectionIndex();
//selectedRow is selected
Ich befürchte du wirst ein wenig testen müssen. Also, einfach mal Werte auf der Konsole ausgeben lassen, etc. Außerdem wirst du dir noch ein wenig mehr zum Thema Swing/AWT anlesen müssen... Es wird leider sehr schwer dir zu helfen, wenn du nicht genau weißt, was da passiert.
Aber jetzt erstmal zum Testen:
Kannst Du dir mal (mit System.out.println() zum Beispiel) folgendes ausgeben lassen, bitte?
ListSelectionModel rowSM = ivjSPTAnzeige.getSelectionModel();
rowSM.addListSelectionListener
(
new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
//Ignore extra messages.
if (e.getValueIsAdjusting()) return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if (lsm.isSelectionEmpty())
{
//no rows are selected
}
else
{
int selectedRow = lsm.getMinSelectionIndex();
//selectedRow is selected
getJTFhost().setText((String) ivjSPTAnzeige.getModel().getValueAt(ivjSPTAnzeige.getSelectedRow(),0));
}
}
}
);
PS: Als anfänger solltest du dir angewöhnen die Oberflächen selbst zu programmieren. Das klingt vieleicht kompliziert, hat aber den großen Vorteil, dass es
a) Übersichtlicher ist als der Code, den irgendein Tool erzeugt und
b) Du lernst besser was da eigendlich passiert.
Mag schon sein das man als Anfänger mehr lernt ohne tool.
Doch wenn ich gar kein Tool hab dann würd ich gar nicht weiter kommen.
Außerdem hasse ich es mit eclipse zu arbeiten.
Ich finds am Anfang gar nicht mal so schlecht wenn man sieht was der produziert wenn du da ein Feld machst oder sowas.
Kann man sich ja merken.
In der Schule habe ich sowieso solche Hilfen nicht zur verfügung.
Ich hab mein Ding da etwas umfunktioniert
Hab die Textfields auf dem einen Fenster wegggemacht.
Müsste doch auch irgendwie gehen, wenn ich in dem geöffneten Fenster die Reihe anklick und der die Daten in die Textfields des Hauptfenster überträgt oder?
Jetzt mal ehrlich, ist der Code, den dein Tool dir erzeugt hat übersichtlich genug, das du daraus lehrnen kannst? Also mir währe der zu komplex. Manschmal führen kleine schritte schneller zum Ziel. Und die Fehler finded man auch schneller wenn man weiß was man macht.
manches klingt wirklich kompliziert da hast recht,aber deswegen werde ich jetzt kaum wo ich fast fertig bin nochmal von vorne anfangen!!!
Ich brauch ja nur noch den Wechsel der Datenbanken dann is ja fertig
Es geht übrigens beides, sowohl den Inhalt in die Textfelder des Hauptfensters als auch in die Textfelder eines Nebenfensters schieben. Du must nur die Listener richtig implementieren und anmelden, und die Komunikation zwischen den Klasse gewährleisten. Am besten ersetzt du den Listener den die das Tool erzeugt hat und schreibst wenigstens den neu.
Ja was soll ich sagen. Die Screenshots haben mir nicht wirklich viel geholfen. Ich bin immernoch der meinung, das etwas mit dem listener nicht stimmt. Versuch mal den fehler genauer zu lokalisieren.