Wort aus Arrayliste selektieren und ID anzeigen lassen

JonnieWalker

Bekanntes Mitglied
Hallo Leute,
Meine Frage:

Ich habe in der Datenbank eine Tabelle die heisst "words"
Dort sind 2 Spalten
1.wordID
2.word

In meinem Fenster lass ich mir das Wort in meiner ArrayList anzeigen.
Ich würde dann gerne wenn ich das Wort anklicke mir in einem kleinen Textfeld oder jLabel
die dazugehörige wordID anzeigen lassen.

Kann mir jemand helfen?
Wie geht das?
Danke schon mal im Vorraus
 

Michael...

Top Contributor
In meinem Fenster lass ich mir das Wort in meiner ArrayList anzeigen.
Meinst Du eine JList? ArrayList ist ja keine graphische Komponente.
Du hast ja eine Klasse Word oder Words. Speichert diese die ID zum Wort? Dann könnte man ID + Wort über einen entsprechenden ListCellRenderer in einer JList darstellen bzw. auf die Selektion in der JList reagieren und die ID des angewählten Eintrags in einem separaten JLabel o.ä. anzeigen.
 

JonnieWalker

Bekanntes Mitglied
also die Id des wortes wird gespeichert aber nicht angezeigt.
es ist eine JList ja nur das ich mit dem array halt arbeite.

ich brauche so ne methode wie ich das so ungefähr machen könnte:)
Danke.........
 

Nardian

Bekanntes Mitglied
meinst du in etwa sowas?

Java:
package java_forum.word_list;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class test {

	private word[] words = new word[]{
			new word(1, "wort1"), 
			new word(2, "wort2"), 
			new word(3, "wort 3"), 
			new word(4, "wort4"), 
			new word(5, "abwechslung"), 
			new word(6, "wort6"), 
			new word(7, "wort10020")
	};
	private JList list = new JList(words);
	private final JLabel id = new JLabel("noch nichts ausgewählt");
	
	public test() {
		JFrame frame= new JFrame ("word-list");
		
		frame.setSize(400, 400);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocationRelativeTo(null);
		
		frame.setVisible(true);
		JPanel main = new JPanel();
		main.setLayout(new BorderLayout());
		frame.setContentPane(main);
		
		list.addListSelectionListener(new ListSelectionListener() {
			
			@Override
			public void valueChanged(ListSelectionEvent e) {
				id.setText(((word)list.getSelectedValue()).getWordID()+"");
			}
		});
		
		main.add(list, BorderLayout.CENTER);
		main.add(id, BorderLayout.SOUTH);
	}
	
	
	private class word{
		private int wordID;
		private String word;
		public word(int id, String string) {
			wordID = id;
			word = string;
		}
		public int getWordID() {
			return wordID;
		}
		public void setWordID(int wordID) {
			this.wordID = wordID;
		}
		public String getWord() {
			return word;
		}
		public void setWord(String word) {
			this.word = word;
		}
		@Override
		public String toString() {
			return word;
		}
	}

	public static void main(String[] args) {
		new test();
	}
}
 

JonnieWalker

Bekanntes Mitglied
Konkret auf meine Methode zum holen der Daten aus der Datenbank, die so ausieht:
Wie wende ich das an?:

Java:
Klasse Datenbanken:

public ArrayList<Words> getWords() {
        Words Datensatz;
        ResultSet daten;
        String eigAnzahl;
        String eigBuchst;
        String eigZBS;
        String eigZBS1;
        String eigString;
        ArrayList<Words> retWords = new ArrayList<Words>();
        try {
            Statement anweisung = v2.createStatement();
            eigAnzahl = FensterWortliste.tfAnzBuch.getText();
            eigBuchst = FensterWortliste.tfAnfangBuch.getText();
            eigZBS = FensterWortliste.tfZeichen.getText();
            eigZBS1 = FensterWortliste.tfZeichen1.getText();
            eigString = FensterWortliste.tfEiggString.getText();
            daten = anweisung.executeQuery("SELECT word, wordID FROM eloftwords WHERE len(word)>"
                    + eigAnzahl + " AND word LIKE '" + eigBuchst
                    + "%'AND word LIKE '%" + eigZBS + "%'"
                    + " AND word LIKE '%" + eigZBS1 + "%'"
                    + " AND word LIKE '%" + eigString + "%'");
            retWords.clear();
            while (daten.next()) {
                Datensatz = new Words(
                        daten.getString("word"),
                        daten.getInt("wordID"));
                retWords.add(Datensatz);
            }
        } catch (Exception ex) {
        }
        return retWords;
    }

Und hier mein Fenster Wortliste:
Hier ist auch das JLabel zum Anzeigen der wordID:
Was müsste ich hier rein hauen? bestimmt deine Methode da oder ?
 

JonnieWalker

Bekanntes Mitglied
HI also es funktioniert super;)
Danke hier für alle die mal so etwas brauchen könnten:

Als erstes die Klasse Datenbanken:
Das ist nur eine Methode um aus der Datenbank die Wörter zu holen aber ohne das die ID angezeigt wird:
Java:
public ArrayList<Words> getWords() {
        Words Datensatz;
        ResultSet daten;
        String eigAnzahl;
        String eigBuchst;
        String eigZBS;
        String eigZBS1;
        String eigString;
        ArrayList<Words> retWords = new ArrayList<Words>();
        try {
            Statement anweisung = v2.createStatement();
            eigAnzahl = FensterWortliste.tfAnzBuch.getText();
            eigBuchst = FensterWortliste.tfAnfangBuch.getText();
            eigZBS = FensterWortliste.tfZeichen.getText();
            eigZBS1 = FensterWortliste.tfZeichen1.getText();
            eigString = FensterWortliste.tfEiggString.getText();
            daten = anweisung.executeQuery("SELECT word, wordID FROM eloftwords WHERE len(word)>"
                    + eigAnzahl + " AND word LIKE '" + eigBuchst
                    + "%'AND word LIKE '%" + eigZBS + "%'"
                    + " AND word LIKE '%" + eigZBS1 + "%'"
                    + " AND word LIKE '%" + eigString + "%'");
            retWords.clear();
            while (daten.next()) {
                Datensatz = new Words(
                        daten.getString("word"),
                        daten.getInt("wordID"));
                retWords.add(Datensatz);
            }
        } catch (Exception ex) {
        }
        return retWords;
    }

Dann die Klasse Words dort sind die Eigenschaften der Tabelle deklariert:
Mit getter und setter:
Java:
public class Words {
    private String word;
    private int wordID;

    public Words(String word, int wordID){

        setWord(word);
        setWordID(wordID);     

    }
    public String getWord() {
        return word;
    }

    public void setWord(String word) {
        this.word = word;
    }

    public int getWordID() {
        return wordID;
    }

    public void setWordID(int wordID) {
        this.wordID = wordID;
    }

    @Override
    public String toString(){

        return word;
    }
  }

und zum Schluss die Fensterklasse Wortliste:
Nur der Ausschnitt der relevant ist, wird hier aufgeführt:
Hier werden mir die Datensätze angezeigt:
Java:
public class FensterWortliste extends javax.swing.JFrame {

    FensterWortliste() {
        initComponents();

//Das ist meine JList die mir die Datensätze aus der Datenbank anzeigt.
        jList1.addListSelectionListener(new ListSelectionListener() {

//ZeigeWordID ist mein Label das mir die ID des aktuel selektierten Wortes anzeigt:
            public void valueChanged(ListSelectionEvent e) {
        ZeigeWordID.setText(((Words) jList1.getSelectedValue()).getWordID() + "");
             }
        });
    }

Vielen dank nochmal du warst sehr hilfreich:):applaus:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X JTextPane automatischer Zeilenumbruch IM Wort AWT, Swing, JavaFX & SWT 2
S Font laden, Wort zeichnen und animieren..? AWT, Swing, JavaFX & SWT 2
S JTable Filter nach Wort oder Wortteil über ganze Tabelle AWT, Swing, JavaFX & SWT 5
destroflyer Wort im JLabel verlinken (per HTML) AWT, Swing, JavaFX & SWT 3
S Wort aus Einzelbuchstaben rendern? AWT, Swing, JavaFX & SWT 3
D Swing JEditorPane wort zu lang AWT, Swing, JavaFX & SWT 11
G Ein Wort in einem String färben in einer Canvas AWT, Swing, JavaFX & SWT 10
P JCheckBox: das 4eck mit kreuz soll rechts vom wort stehen AWT, Swing, JavaFX & SWT 3
T JTextPane, Mausklick, aktives Wort AWT, Swing, JavaFX & SWT 2
L Buttons aus Arrayliste erstellt wie komm ich nun wieder an das Oobjekt aus der arrayliste ran AWT, Swing, JavaFX & SWT 3
C JTextField Inhalt mit Maus selektieren wenn disabled AWT, Swing, JavaFX & SWT 2
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
B Zeile einer Tabelle selektieren AWT, Swing, JavaFX & SWT 1
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
O JComboBox - autom. Selektieren AWT, Swing, JavaFX & SWT 6
A FocusLost verhindert selektieren eines Listeneintrags AWT, Swing, JavaFX & SWT 23
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
B JTable Zeilen und Spalten selektieren AWT, Swing, JavaFX & SWT 5
N ActionListener automatisch selektieren AWT, Swing, JavaFX & SWT 6
M Swing JPanel selektieren das sich in einer JTable befindet AWT, Swing, JavaFX & SWT 20
L JPanel mit Objekten selektieren wie unter Windows / Ubuntu AWT, Swing, JavaFX & SWT 4
U JLabel "selektieren" AWT, Swing, JavaFX & SWT 8
M JTable - mehrere Zeilen selektieren AWT, Swing, JavaFX & SWT 7
G JComboBox mit eigenem Model vorhanden, wie selektieren AWT, Swing, JavaFX & SWT 29
R JTable mehrere Zellen mit Shift selektieren AWT, Swing, JavaFX & SWT 2
R JTable einzelne Zellen selektieren AWT, Swing, JavaFX & SWT 7
G JTree: mehrere Knoten selektieren! AWT, Swing, JavaFX & SWT 2
G JList - Beim Mousehover Eintrag selektieren AWT, Swing, JavaFX & SWT 12
J JTable: Einzelne Zelle selektieren AWT, Swing, JavaFX & SWT 6
M Jlist Eintrag mit suche selektieren AWT, Swing, JavaFX & SWT 4
O JTable, Row selektieren AWT, Swing, JavaFX & SWT 5
M JCheckbox, das selektieren verhindern AWT, Swing, JavaFX & SWT 9
S JList mit DefaultListModel befüllt, wie Objekte selektieren? AWT, Swing, JavaFX & SWT 3
M Button selektieren/deselektieren AWT, Swing, JavaFX & SWT 4
J [SWT] alle Zellen in einem Tree einzeln selektieren AWT, Swing, JavaFX & SWT 2
W Zeile in Table (SWT) selektieren und auslesen AWT, Swing, JavaFX & SWT 4
T mit rechter maustaste Table row selektieren AWT, Swing, JavaFX & SWT 2
F [JTable] Selektieren mit rechter Maustatse AWT, Swing, JavaFX & SWT 3
M JLIST - Ein Element selektieren und weiterverarbeiten! AWT, Swing, JavaFX & SWT 2
S JTable + Zeile Selektieren AWT, Swing, JavaFX & SWT 5
W Selektiertes Blatt eines JTrees nach Neustart selektieren AWT, Swing, JavaFX & SWT 2
F JTable nur einzellner Row selektieren AWT, Swing, JavaFX & SWT 4
C JTable - Zeile fokussieren / selektieren AWT, Swing, JavaFX & SWT 7
J JTable: ganze Zeile selektieren AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben