Darf denn immer nur einer der Begriffe im Textfeld stehen? Dann würde ich es durch eine andere Komponente z.B. JComboBox ersetzen.
Wenn das Textfeld mehrere dieser Begriffe enthalten darf, könnte man mit einen InputVerifier arbeiten, der beim Verlassen des Textfelds die Gültigkeit des Inhaltes prüft.
Um das während der Eingabe zu machen könnte man mit einem KeyListener am Textfeld oder DocumentListener an dessen Document arbeiten.
Wenn mehrere Werte vorgeschlagen werden sollen, benötigst Du ja ein DropDown, was dann eher für eine ComboBox sprechen würde.Der Benutzer tippt ein "Kopierpapier", dann wird ihm vorgeschlagen "Kopierpapier DIN A4", "Kopierpapier DIN A5" und er muss sich für eines entscheiden.
import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator;
AutoCompleteDecorator.decorate(jComboBox6);
jComboBox6.setEditable(true);
Verstehe zwar nicht warum die ComboBox aus der JTable befüllt werden soll, aber prinzipiell ist es ja egal woher die Daten kommen (Datenbank, Datei, Code, andere Komponente...) ein ComboBox kann man bei der Initialisierung über den Konstruktor. Zur Laufzeit kann man die Inhalte über deren Model verändern oder die Methoden die die JComboBox anbietet remove... add... (Details siehe API Dokumentation)Meine nächste Frage wäre, wie kann ich bewerkstelligen, dass die ComboBox nur die Elemente anzeigt, die in meiner Access-Datenbank liegen?
Daten abrufen ist kein Problem, allerdings kann ich die momentan nur in einer jTable darstellen.
Kann ich anhand der jTable die ComboBox befüllen?
try{
//Abfrage definieren
query = "SELECT * FROM material";
//Datenbankverbindung herstellen
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=G:/EDV/Allgemein/Toner-Ausgabe-Tool/toner.mdb","","" );
Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery(query);
while (rst.next())
{
//Liest Hersteller, Tonerbezeichnung, Abteilung, Ausgabedatum
artikelname = rst.getString("Artikel");
jComboBox6.addItem(artikelname);
}
rst.close();
stmt.close();
con.close();
}
catch (Exception ex)
{
System.out.println("Exception"+ex);
}