keine darstellung in JTable

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo Leute,
habe das Problem das wenn ich ein Select befehl absetze auf die DB, bekomme ich so ca. 30 DS zurück.

Diese kann ich mir auch in der Kommandozeile ausgeben lassen.

Wenn ich die werte dann aber mit next in die Tabelle übertragen will, bleibt diese einfach leer!


Woran liegt das?
Ich weiß google und FAQ, hab in beides hineingeschaut, aber leider keine Lösung für mich!


Helft mir bitte :roll:


hier der Code

Code:
package pk.xxx.xxxxxxxxx; 

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import java.util.Vector;

import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class SuchePerson extends JFrame {

	private JPanel jContentPane = null;
	private JTextField tname = null;
	private JTextField truf = null;
	private JTextField tgeb_dat = null;
	private JLabel lname = null;
	private JLabel lruf = null;
	private JLabel lgeb_dat = null;
	private JButton bsuche = null;
	private JScrollPane sperg = null;
	private JTable terg = null;
	private JButton bloeschen = null;
	private AktionsAbhoerer listener = new AktionsAbhoerer();
	private JButton bverwerfen = null;

	public SuchePerson() {
		super();
		initialize();
		
	}
    Properties cfg = new Properties();

	private void initialize() {
		this.setContentPane(getJContentPane());
		this.setTitle("FSW / Person Suche Maske");
		this.setBounds(new java.awt.Rectangle(0,0,600,400));
	}

    class AktionsAbhoerer implements ActionListener 
    {
        public void actionPerformed(ActionEvent actionEvent) 
        {            
        	if (actionEvent.getActionCommand().equals("Verwerfen")) 
        	{
   		      	tname.setText("");
				truf.setText("");
				tgeb_dat.setText("");
				System.out.println("Eingaben verworfen!");
            }
        
        	if (actionEvent.getActionCommand().equals("Suche")) 
        	{  
        		try 
                {
                    cfg.load(new FileInputStream("config.cfg"));   
                    Connection dbc;
					try 
					{
						dbc = new DBConnect(cfg).openConnect();

						ResultSet rs = dbc.createStatement().executeQuery("SELECT * FROM person where name='Aalst'");            
						while (rs.next())
						{
							System.out.println("rs");
							addRow(terg, rs.getString("pers_nr"),rs.getString("name"));
						}        		
						rs.close();
						dbc.close();					
                    } 
					catch (SQLException e) 
					{
						e.printStackTrace();
					}
                } 
        		catch (IOException e)
                {
                    e.printStackTrace();
                }
        	}	
        }
    }
	
	public void addRow(JTable aList, String aVal1, String aVal2) {
		DefaultTableModel aModel = (DefaultTableModel) aList.getModel();
		Vector            aVect  = new Vector();
		
		aVect.addElement(aVal1);
		aVect.addElement(aVal2);
		
		aModel.addRow(aVect);
	}    
	
	public void addCol(JTable aList, String aCaption){
		DefaultTableModel aModel    = (DefaultTableModel) aList.getModel();
		//TableColumnModel  aColModel = jTable.getColumnModel();
		
		aModel.addColumn(aCaption);
	}
        
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			lgeb_dat = new JLabel();
			lgeb_dat.setText("Geburtsdatum");
			lgeb_dat.setLocation(new java.awt.Point(20,100));
			lgeb_dat.setSize(new java.awt.Dimension(88,16));
			lruf = new JLabel();
			lruf.setText("Rufname");
			lruf.setLocation(new java.awt.Point(20,80));
			lruf.setSize(new java.awt.Dimension(54,16));
			lname = new JLabel();
			lname.setText("Name");
			lname.setLocation(new java.awt.Point(20,60));
			lname.setSize(new java.awt.Dimension(38,16));
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getTname(), null);
			jContentPane.add(getTruf(), null);
			jContentPane.add(getTgeb_dat(), null);
			jContentPane.add(lname, null);
			jContentPane.add(lruf, null);
			jContentPane.add(lgeb_dat, null);
			jContentPane.add(getBsuche(), null);
			jContentPane.add(getSperg(), null);
			jContentPane.add(getBloeschen(), null);
			jContentPane.add(getBverwerfen(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jname	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTname() {
		if (tname == null) {
			tname = new JTextField();
			tname.setSize(new java.awt.Dimension(150,20));
			tname.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
			tname.setLocation(new java.awt.Point(120,56));
		}
		return tname;
	}

	/**
	 * This method initializes jruf	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTruf() {
		if (truf == null) {
			truf = new JTextField();
			truf.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
			truf.setBounds(new java.awt.Rectangle(120,77,150,20));
		}
		return truf;
	}

	/**
	 * This method initializes jgeb_dat	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTgeb_dat() {
		if (tgeb_dat == null) {
			tgeb_dat = new JTextField();
			tgeb_dat.setSize(new java.awt.Dimension(75,20));
			tgeb_dat.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
			tgeb_dat.setColumns(0);
			tgeb_dat.setLocation(new java.awt.Point(120,98));
		}
		return tgeb_dat;
	}

	/**
	 * This method initializes bsuche	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBsuche() {
		if (bsuche == null) {
			bsuche = new JButton();
			bsuche.setLocation(new java.awt.Point(400,56));
			bsuche.setText("Suche");
			bsuche.setToolTipText("Suche nach Person");
			bsuche.setSize(new java.awt.Dimension(90,19));
			bsuche.addActionListener(listener);
		}
		return bsuche;
	}

	/**
	 * This method initializes sperg	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getSperg() {
		if (sperg == null) {
			sperg = new JScrollPane();
			sperg.setBounds(new java.awt.Rectangle(16,166,555,165));
			sperg.setViewportView(getTerg());
		}
		return sperg;
	}

	/**
	 * This method initializes terg	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getTerg() {
		if (terg == null) {
			terg = new JTable();
			terg.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);
		}
		return terg;
	}

	/**
	 * This method initializes bloeschen	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBloeschen() {
		if (bloeschen == null) {
			bloeschen = new JButton();
			bloeschen.setSize(new java.awt.Dimension(90,19));
			bloeschen.setText("Löschen");
			bloeschen.setLocation(new java.awt.Point(480,340));
		}
		return bloeschen;
	}

	/**
	 * This method initializes bverwerfen	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBverwerfen() {
		if (bverwerfen == null) {
			bverwerfen = new JButton();
			bverwerfen.setBounds(new java.awt.Rectangle(400,77,90,19));
			bverwerfen.setText("Verwerfen");
			bverwerfen.setToolTipText("Alle Suchfelder leeren");
			bverwerfen.addActionListener(listener);
		}
		return bverwerfen;
	}
}
 

André Uhres

Top Contributor
Code:
   private JTable getTerg() {
        if (terg == null) {
            terg = new JTable();
            terg.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);
            terg.setModel(new javax.swing.table.DefaultTableModel(
                    new Object [][] {  },
                    new String [] {
                "A", "B"
            }
            ) {
                Class[] types = new Class [] {
                    java.lang.String.class, java.lang.String.class
                };
                boolean[] canEdit = new boolean [] {
                    false, false
                };
                
                public Class getColumnClass(int columnIndex) {
                    return types [columnIndex];
                }
                
                public boolean isCellEditable(int rowIndex, int columnIndex) {
                    return canEdit [columnIndex];
                }
            });
        }
        return terg;
    }
 
S

SlaterB

Gast
und dafür postest du ein 262-Zeilen-Programm, dass nicht mal ausführbar ist (main-Operation fehlt)?
du baust GUI, SQL, ActionListner und was weiß ich nicht noch alles da rein ohne überhaupt grundlegend zu wissen wie man Daten in eine JTable einfügt?
da verzweifelt man ja manchmal.. ;)

mühsam habe ich mir nun selber ein 37 (!)-Zeilen-Programm gebastelt um dir das zu erläutern

Code:
package test;

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;

public class SuchePerson extends JFrame {

	public SuchePerson() {
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);

		JTable t = new JTable();
		DefaultTableModel aModel = (DefaultTableModel) t.getModel();

		// aModel.setDataVector(new String[][] {{"a1","b1"}},new String[] {"a","b"});

		// aModel.addColumn("a");
		// aModel.addColumn("b");

		Vector aVect = new Vector();
		aVect.addElement("a2");
		aVect.addElement("b2");
		aModel.addRow(aVect);

		getContentPane().add(t, java.awt.BorderLayout.CENTER);
		setSize(new Dimension(300, 200));
		setVisible(true);
	}

	public static void main(String args[]) {
		new SuchePerson();
	}
}
also addRow funktioniert nicht wenn die Table leer ist, nicht einmal Spalten enthält,
so ist das eben, was kann man da groß zu sagen,

bevor du neue Zeilen einfügst musst du also erstmal die korrekte Spaltenanzahl setzen,
z.B. mit addColum, eine passende Operation dazu hast du ja auch in deinem Programm,

eine andere Möglichkeit wäre setDataVector, da kann man neben den Spalten gleich noch paar Zeilen miteinfügen

---------

wie man mit JTables arbeitet, wie man zumindest ein paar Daten reinkriegt und anzeigt,
dürfte in jedem Java-Buch drinstehen,
u.a. auch im Java-Tutorial von Sun:
http://java.sun.com/docs/books/tutorial/uiswing/index.html
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y LayoutManager Keine vollständige Darstellung der Tabelle mit GridBagLayout AWT, Swing, JavaFX & SWT 3
ExceptionOfExpectation JMenu, setMnemonic(Char k) bringt keine Wirkung AWT, Swing, JavaFX & SWT 8
V JavaFX Bild leer und keine Fehlermeldung AWT, Swing, JavaFX & SWT 21
S JavaFX WebView zeigt keine Animation AWT, Swing, JavaFX & SWT 5
ruutaiokwu SWT "Google Window Builder" tut keine jar's ins Projekt rein bei SWT-Projekt AWT, Swing, JavaFX & SWT 22
H String teilen, damit bei JLabel keine Punkte am Ende angezeigt werden AWT, Swing, JavaFX & SWT 4
L Java FX Keine Anzeige Im Tableview AWT, Swing, JavaFX & SWT 4
richis-fragen JTree +/- verschwidet wenn Knoten keine Kinder hat... AWT, Swing, JavaFX & SWT 6
S java.fxml.load.exception und keine automatische Aktualliseriung der Mainausgabe AWT, Swing, JavaFX & SWT 5
F JList zeigt keine Einträge mehr AWT, Swing, JavaFX & SWT 1
G Swing JButton - Keine Klickanimation AWT, Swing, JavaFX & SWT 4
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
N Swing JFormattedTextField keine Werte nach Formatzuweisung AWT, Swing, JavaFX & SWT 0
C Swing JList zeigt keine neuen Einträge an AWT, Swing, JavaFX & SWT 1
X Swing Anwendung regaiert auf keine Buttons mehr wärend while(scanner.hasNextLine()) ausgeführt wird. AWT, Swing, JavaFX & SWT 4
D Swing keine JLabel-Aktualisierung bei "externem" Aufruf durch Helferklasse AWT, Swing, JavaFX & SWT 10
D Swing Warum erhalte ich keine Ausgabe? Funktioniert der equals-vergleich in actionPeformed nicht richtig? AWT, Swing, JavaFX & SWT 3
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
gamebreiti auf usereingabe warten mit GUI(nur Labels, Buttons etc. keine Texteingaben) AWT, Swing, JavaFX & SWT 3
P Swing JTable keine Markierung nach Button klick AWT, Swing, JavaFX & SWT 0
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
H RCP(SWT) Browser-Widget zeigt keine locale HTML-Dateien an AWT, Swing, JavaFX & SWT 1
N JavaFX Keine Dynamic AWT, Swing, JavaFX & SWT 2
W Swing Ausführung einer .jar zeigt keine Reaktion AWT, Swing, JavaFX & SWT 4
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
N Swing JTable mit Sorter: Keine Sortierung bei Klick in Header AWT, Swing, JavaFX & SWT 3
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
A trotz setSize keine breite AWT, Swing, JavaFX & SWT 4
Q JTable - Keine Spaltennamen AWT, Swing, JavaFX & SWT 3
H Swing Keine Rückmeldung (freeze) bei setVisible(false) oder dispose() AWT, Swing, JavaFX & SWT 4
B JEditorPane lädt keine Schriftfarbe in HTML AWT, Swing, JavaFX & SWT 2
dzim TableView - keine Aktualisierung geänderter Items AWT, Swing, JavaFX & SWT 5
E Keine Ausgabe auf Console und List AWT, Swing, JavaFX & SWT 13
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 2
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 3
N Swing Netbeans 7.1 keine DesktopApplication mehr möglich ? AWT, Swing, JavaFX & SWT 15
H JTable zeigt keine Daten an AWT, Swing, JavaFX & SWT 5
C Swing JFrame nimmt keine anderen Elemente auf AWT, Swing, JavaFX & SWT 13
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
A Swing JTable benutzt keine Checkbox für Booleans AWT, Swing, JavaFX & SWT 9
M Swing Focus für Buttons deaktiviert --> keine Reaktion mehr auf Tastendrücke AWT, Swing, JavaFX & SWT 5
E Keine Ausgabe von JList bei drücken von Button auf die Konsole AWT, Swing, JavaFX & SWT 7
C MouseMotionListener fired keine Events mehr wenn in Button AWT, Swing, JavaFX & SWT 2
D Fenster will keine Ausgabe geben>:( AWT, Swing, JavaFX & SWT 3
K Applet erkennt keine Frameverkleinerung AWT, Swing, JavaFX & SWT 5
O keine ähnliche Farben durch Random in Java AWT, Swing, JavaFX & SWT 21
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
P Kennt awt.list keine Tastatureingabe? AWT, Swing, JavaFX & SWT 3
H Swing JScrollPane bekommt keine ScrollBars AWT, Swing, JavaFX & SWT 5
bluerob Nach RowSorter -> Keine Tabellenüberschreibung möglich AWT, Swing, JavaFX & SWT 7
V JTextField nimmt keine Eingaben an, nach nachträglichem setVisible des JWindows AWT, Swing, JavaFX & SWT 4
aze JTextField:Keine Markierung AWT, Swing, JavaFX & SWT 6
D Swing keine Tabellen Zeilen ohne Focus AWT, Swing, JavaFX & SWT 7
J Swing JTable, eigener TableCellRenderer Keine Anzeige in den Zellen AWT, Swing, JavaFX & SWT 8
C keine weiteren Events während Drag&Drop Operation möglich? AWT, Swing, JavaFX & SWT 5
Fu3L Keine Transparenten JTextComponents möglich mit Nimbus L&F? AWT, Swing, JavaFX & SWT 5
P 2D-Grafik PaintComponent() übernimmt keine Werte aus update() AWT, Swing, JavaFX & SWT 8
earlgrey_tea AWT KeyListener bekommt keine Signale AWT, Swing, JavaFX & SWT 3
B LayoutManager mischen keine gute Idee? AWT, Swing, JavaFX & SWT 9
O Swing es können keine neuen Labels hinzufügt werden während der Timer läuft AWT, Swing, JavaFX & SWT 14
B JScrollbarPane zeigt keine scrollbars AWT, Swing, JavaFX & SWT 2
I Panel scheint keine Größe zu haben AWT, Swing, JavaFX & SWT 3
aze GridLayout: Keine automatische Ausdehnung AWT, Swing, JavaFX & SWT 2
1 JFrame bleibt leer, keine Ahnung warum AWT, Swing, JavaFX & SWT 7
M SWT keine Scrollbar bei widgets.List und GridLayout AWT, Swing, JavaFX & SWT 2
P SWT Tree - Keine Selection zulassen AWT, Swing, JavaFX & SWT 4
T SWT Keine Anzeige der Widgets nach Comboauswahl AWT, Swing, JavaFX & SWT 2
1 GeneralPath-Kreise werden keine Kreise AWT, Swing, JavaFX & SWT 2
hdi Swing setPreferredSize zeigt keine Änderung AWT, Swing, JavaFX & SWT 2
R AWT [Anfänger] keine atives Aussehen von Buttons AWT, Swing, JavaFX & SWT 4
S Seltsames Problem - manchmal enthaelt die ActionMap eine JTextArea keine Actions. AWT, Swing, JavaFX & SWT 4
A SWT Table hat keine Scrollbar AWT, Swing, JavaFX & SWT 12
B Keine Änderungen an JLabel durch Array möglich AWT, Swing, JavaFX & SWT 12
C Frame repaint hat keine Wirkung AWT, Swing, JavaFX & SWT 6
L Swing JPanel sendet keine KeyEvents AWT, Swing, JavaFX & SWT 22
J Swing - ich sehe keine Linie, andere schon AWT, Swing, JavaFX & SWT 6
S JDialog gibt keine Nachrichten ueber sein Schliessen..? AWT, Swing, JavaFX & SWT 3
C JTextArea zeigt keine Scrollbalken AWT, Swing, JavaFX & SWT 18
B Heavyweight Popup lässt keine MouseEvents durch AWT, Swing, JavaFX & SWT 2
K JDialog zeigt keine Komponenten wenn es modal ist AWT, Swing, JavaFX & SWT 2
S Seltsam: SWT Table zeigt keine Scrollbar an AWT, Swing, JavaFX & SWT 12
V JTabbedPane - keine "Focus"-Box auf selektiertem T AWT, Swing, JavaFX & SWT 2
G JTable zeigt keine Spaltenheader AWT, Swing, JavaFX & SWT 7
L JDialog-kann keine Größe setzen AWT, Swing, JavaFX & SWT 4
F Thread macht keine Pause AWT, Swing, JavaFX & SWT 22
W Threads und trotzdem keine Nebenläufigkeit AWT, Swing, JavaFX & SWT 13
G Keine Anzeige des Balkens AWT, Swing, JavaFX & SWT 3
F JScrollPane mit JPanel drinne zeigt keine Scroll-Leisten AWT, Swing, JavaFX & SWT 7
K keine Zeichenfläche sichtbar AWT, Swing, JavaFX & SWT 2
J ActionListener nimmt keine for()-Schleife? AWT, Swing, JavaFX & SWT 4
M JDialog + JFrame + keine Java Tasse AWT, Swing, JavaFX & SWT 9
G keine ScaledInstance von BufferedImage? AWT, Swing, JavaFX & SWT 6
Z habe code, habe fehler, habe keine lösung AWT, Swing, JavaFX & SWT 7
C Jar Datei ist ausführbar aber zeigt keine icon's an AWT, Swing, JavaFX & SWT 18
S JList gibt nach Sortierung mit Collections keine Anzahl mehr AWT, Swing, JavaFX & SWT 3
N Trotz richtiger ListSelectionMode kann ich keine Zeile sel? AWT, Swing, JavaFX & SWT 4
technolion FileDialog/keine Multi-Selektion vs. JFileCHooser/kein LaF AWT, Swing, JavaFX & SWT 2
S getSize gibt keine Größe wieder AWT, Swing, JavaFX & SWT 4
K Keine SWT-Komponenten-Gruppe in Palette des Visual Editor AWT, Swing, JavaFX & SWT 2
M Keine Buttons oder sonstige Objekte in JFrame unter Linux AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben