000
23.03.2009, 16:24 Uhr
KFC Embryo
Ein Huhn
|
Hallo,
ich habe folgenden Code:
Code: |
package GUI;
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.EventListener; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.ListSelectionModel; import javax.swing.table.DefaultTableModel;
public class Stichwortliste extends JFrame implements EventListener{
public final static Vector COLUMN_IDENTIFIERS = new Vector() { { add("Stichworte"); } };
DefaultTableModel defaultTableModel = new DefaultTableModel(10, 50);
JTable table = new JTable(defaultTableModel); JTextField SuchEingabe = new JTextField(50); JLabel output = new JLabel(); JScrollPane DropDown = new JScrollPane(table); JPanel panel = new JPanel(); Connection con; String t =""; String h ="";
public Stichwortliste(){
super("Vorschläge");
setDefaultCloseOperation(EXIT_ON_CLOSE);
defaultTableModel.setColumnIdentifiers(COLUMN_IDENTIFIERS); add(table, BorderLayout.CENTER); add(SuchEingabe, BorderLayout.NORTH); add(output ,BorderLayout.SOUTH); add(DropDown, BorderLayout.EAST); table.setPreferredSize(new Dimension(640,640)); table.setSelectionBackground(Color.RED);
SuchEingabe.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e) {
//t += e.getKeyChar();; //output.setText("Suchwort:" + t); //initDatabaseStuff(); }
public void keyTyped(KeyEvent e) {
if(e.getKeyChar()== e.VK_BACK_SPACE){ t = t.substring( 0, t.length() - 1 ); }else{ t += e.getKeyChar(); } output.setText("Suchwort:" + t); initDatabaseStuff(); }
public void keyReleased(KeyEvent e) { //t += e.getKeyChar();; //output.setText("Suchwort:" + t); //initDatabaseStuff(); }
});
DropDown.setViewportView(table); pack(); setVisible(true); }
protected Vector findAllPersons() { Vector results = new Vector();
try { Statement statement = con.createStatement(); ResultSet rs = statement.executeQuery("SELECT stichworte FROM Stichwortliste WHERE stichworte LIKE '"+t+"%'");
while (rs.next()) { Vector person = new Vector(); person.add(rs.getString("Stichworte")); results.add(person); } } catch(SQLException e) { e.printStackTrace(); }
return results; }
private void initDatabaseStuff() {
try { System.out.println("* Treiber laden"); Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); System.out.println("* Verbindung aufbauen"); con = DriverManager.getConnection("jdbc:odbc:ListenDB", "", ""); Vector results = findAllPersons();
defaultTableModel.setDataVector(results, COLUMN_IDENTIFIERS); defaultTableModel.fireTableDataChanged(); } catch (Exception e) { System.err.println("Unable to load driver."); e.printStackTrace(); } }
public static void main(String[] args) {
new Stichwortliste(); }
}
|
Jetzt möchte ich dass wenn man einen aufgelisteten Eintrag mit doppelklick "andrückt" das der Wert als String zurück gegeben wird. Die Sache mit dem Event ist klar. Aber das mit der Rückgabe nicht, was könnte ich machen?
Gruß -- An nescis, mi fili, quantilla prudentia mundus regatur? |