Swing Update JTable

execute

Mitglied
hallo@all


Es geht um ein Kleines Javaprogramm mit Oberfläche wo leider die Tabelle rumspinnt :(

Kurze Beschreibung des Projektes:
Vorstellen kann man sich die Applikation wie einen Einkaufszettel der eben am Computer auszufüllen ist,
man trägt die Menge ein, den Preis und die Bezeichnung, per Klick auf ADD wird der Eintrag einer Liste hinzugefügt welcher in einer Tabellenübersicht nochmals angezeigt wird (später wird ein PDF file erzeugt, wenn auf "absenden" geklickt wird)

die fehlerhafte Methode heißt dynamictable() , ist ziemlich weit unten im Code, ich glaub es ist sinnvoller alles zu schicken statt nur die Methode.:)


hoffentlich kann mir jemand helfen und wenns nur in der Theorie ist

die Klasse Ware habe ich allerdings nicht mitgeschickt, wäre dann wirklich zuviel Code,so rennt ihr mir hoffentlich noch nicht instant weg.:p
Diese hat lediglich die Datenfelder menge,preis,name mit dazugehörigen getter+setter methoden.

Hoffe ijemand blickt meine Struktur :p

Java:
package de.ProgProjekt;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

public class Startoberflaeche {

	private JFrame frame;
	Container contentPane;
	private Ware[] waren;
	public ArrayList<Double> preise;
	int i;
	

	public Startoberflaeche() {
		waren= new Ware[30];
		preise =new ArrayList<Double>();
		frame = new JFrame("Einkaufszettel app");
		contentPane = frame.getContentPane();
		((JComponent) contentPane).setBorder(new EmptyBorder(10, 10, 10, 10));
		contentPane.setLayout(new BorderLayout(6, 6));
		labelsetzen();
		addtextfields();
		abschicken();
		frame.setResizable(false);
		centerMe();
		frame.pack();
		frame.setVisible(true);

	}

	public void labelsetzen() {
		JLabel label = new JLabel(
				"<HTML><BODY>Deine persönliche Einkaufsliste"
						+ "					<BR> <BR> einfach alle benötigten Daten eintragen und bei"
						+ "					 Klick auf <BR> --Abschicken--<BR> wird ein PDF-File erzeugt,welches "
						+ "					 nur noch ausgedruckt<BR> werden muss. BETA</BODY></HTML>");

		contentPane.add(label, BorderLayout.NORTH);

	}


	private void addtextfields() {
		

		final JTextField bezeichnung = new JTextField();

		final JTextField menge = new JTextField();

		final JTextField preisvorstellung = new JTextField();

		JLabel ueberschrift = new JLabel("<HTML><BODY>gewünschte Menge<BR>(2 Kisten,3 kg)<BODY><HTML>");
		ueberschrift.setBorder(BorderFactory.createEtchedBorder());
		JLabel ueberschrift2 = new JLabel("<HTML><BODY>Warenbezeichnung<BR>(Äpfel, Saft)<BODY><HTML>");
		ueberschrift2.setBorder(BorderFactory.createEtchedBorder());
		JLabel ueberschrift3 = new JLabel("<HTML><BODY>Preisschätzung<BR>in Euro (1.99)<BODY><HTML>");
		ueberschrift3.setBorder(BorderFactory.createEtchedBorder());
		JLabel ueberschrift4 = new JLabel();
		JButton add = new JButton("add");
		add.addActionListener(new ActionListener() {
 
			@Override
			public void actionPerformed(ActionEvent arg0) {
				
				Ware neueWare = new Ware();
				neueWare.setName(bezeichnung.getText());
				neueWare.setMenge(menge.getText());
				waren[i] = neueWare;
				dynamictable();
				i++;
				
			
			}

		});

		JPanel textfieldButton = new JPanel(new GridLayout(2, 4));
		textfieldButton.add(ueberschrift);
		textfieldButton.add(ueberschrift2);
		textfieldButton.add(ueberschrift3);
		textfieldButton.add(ueberschrift4);
		textfieldButton.add(menge);
		textfieldButton.add(bezeichnung);
		textfieldButton.add(preisvorstellung);
		textfieldButton.add(add);

		contentPane.add(textfieldButton, BorderLayout.CENTER);

	}

	public void dynamictable() {
		int f=0;
		
		// hier soll die dynamische Tabelle erzeugt werden
		//for schleife wird später eingefügt
			 
		String[][] rowData= new String[i][3];
		rowData[i][f] =waren[i].getMenge();
		f++;
		rowData[i][f] =waren[i].getName();
		f++;
		Object columnNames[] = { "Bezeichnung", "Menge", "Preisschätzung" };
		DefaultTableModel tModel = new DefaultTableModel(rowData, columnNames);
		JTable table = new JTable(tModel);

		contentPane.add(table, BorderLayout.EAST);
		frame.getContentPane().validate();
		frame.pack();
		}

	

	// abschickenButton + Funktion.

	private void abschicken() {
		JButton abschicken = new JButton("abschicken");

		abschicken.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {

			}
		});

		contentPane.add(abschicken, BorderLayout.SOUTH);
	}
	

	
	public void preisBerechnung()
	{
		
	}

	private void centerMe() {
		Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
		int x = (screensize.width / 2) - (frame.getWidth() / 2);
		int y = (screensize.height / 2) - (frame.getHeight() / 2);
		frame.setLocation(x, y);

	}
	
	

	public static void main(String[] args) {

		Startoberflaeche oberflaeche = new Startoberflaeche();
	}

}
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
hier ein kürzeres Programm mit demselben Fehler, welchen du nicht genannt hast:
Java:
public class Test {
    public static void main(String[] args)  {
        int i = 42;
        String[][] rowData = new String[i][3];
        rowData[i][0] = "test";
    }
}
bei beliebigen i gibt es einen Fehler, irgendwelche Kenntnisse zu Arrays, Indexen darin?..

der Rest des Programms wird dann nicht unbedingt funktionieren, aber das kann man ja kaum alles erklären,
wichtigster Tipp hier von mir: niemals GUI-Komponenten erst später erzeugen und einfügen,
erstelle anfangs die JTable, später nur noch dessen Model ändern oder neu setzen
 

execute

Mitglied
schonmal Danke, aber wie? :)

warum kann sich bei meinem programm die tabellengröße nicht zur laufzeit ändern, das is iwie doof.
Wie könnte man das umsetzen was du meinst?
eine Tabelle erzeugen, dass is klar und das model wird dann in der main methode dynamisch generiert?
mh und wie?^^
kleine bsp? :>


ps: ja Arrays kenn ich mich schon bissle aus, bei 0 fängts an, arrays brauchen feste größe, sind sotiert wie ArrayList etc :)
 
S

SlaterB

Gast
How to Use Tables (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)
ist eine Grundlage, erzählt auch bisschen was zu Models, enthält aber nicht unbedingt Beispiele zur Änderung

'java jtable zeilen hinzufügen' in Suchmaschine kann helfen

oder besonders auch
http://www.java-forum.org/bilder-gui-damit-zusammenhaengt/4841-jtable-ubersicht-teil-1-teil-8-a.html
hier aus der FAQ, auf deutsch

hier ein Beispielprogramm mit Hinzufügen
http://www.java-forum.org/java-faq-beitraege/7035-jtable-teil-2-kommen-daten-tabelle.html#post581751

---

und das von mir gepostete Programm läuft wie gesagt auf Fehlermeldung,
du kannst das mit Smily ignorieren oder doch genauer anschauen und versuchen zu korrigieren
 
Zuletzt bearbeitet von einem Moderator:

execute

Mitglied
ok vielen Dank für die Quellen dann will ichs mir mal schauen,

eine letzte Frage, würdest du eine Übersichtstabelle so darstellen wie ich oder geht das auch einfacher zu realisieren?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
dem Zufall nach würde es mit hoher Wahrscheinlichkeit irgendwie bisschen anders aussehen, aber eigentlich will ich dazu auch gar nichts sagen ;)
 

execute

Mitglied
ok, dann bekommst du im laufe des tages meine lösung nochma rein kopiert :p

mh ises eigentlich normal, dass man selbst auf sowas nie kommen würde aber durch copy paste trotzdem zu seinem ergebnis kommt?
heißt jetzt nicht, dass ich gar nichts weiß aber manchma scheitert es schon, dass ich nicht ma weiß, welche Parameter welche Methoden erwarten Oo, bzw der konstruktor, zeigt mir eclipse iwie net an, ohne google also aufgeschmissen.
und verschachtelte methoden is nochma so ne Sache für sich^^
doch projekte schaff ich trotzdem :D

mies oder gibt sich das mit der Zeit?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M "Update" der JTable funktioniert nicht AWT, Swing, JavaFX & SWT 2
D Swing JTable Problem bei automatischem update von Zellen AWT, Swing, JavaFX & SWT 3
D JTable während edit kein update machen lassen AWT, Swing, JavaFX & SWT 2
H JTable mySQL Update AWT, Swing, JavaFX & SWT 8
C JTable update: Selektion beibehalten AWT, Swing, JavaFX & SWT 12
C [JTable] Update der Datenbank AWT, Swing, JavaFX & SWT 6
M update JTable AWT, Swing, JavaFX & SWT 3
T ProgressBox - Update AWT, Swing, JavaFX & SWT 9
Ernesto95 JavaFX JavaFX GUI mit sehr vielen Update requests AWT, Swing, JavaFX & SWT 4
G update, paintComponent AWT, Swing, JavaFX & SWT 1
T GUI Update /EDT AWT, Swing, JavaFX & SWT 7
izoards JavaFX Concurrency Update UI AWT, Swing, JavaFX & SWT 35
ms_cikar Update swingUtilities Repaint in der Schleife AWT, Swing, JavaFX & SWT 3
J TableView Update/Refresh CPU AWT, Swing, JavaFX & SWT 2
A Verständnisfragen im Umgang mit update() und JFrames AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
blazingblade JavaFX Tableview Clock Column update AWT, Swing, JavaFX & SWT 5
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
B Swing Update Swing Komponente bevor Methode startet. AWT, Swing, JavaFX & SWT 4
M JavaFX ComboBox: Update zur Laufzeit AWT, Swing, JavaFX & SWT 16
W Swing ProgressBar update AWT, Swing, JavaFX & SWT 4
B IconImage update im Tabbedpane AWT, Swing, JavaFX & SWT 3
M Update überschreiben klappt nicht AWT, Swing, JavaFX & SWT 4
Q JList Update Problem AWT, Swing, JavaFX & SWT 1
N Observer: update ruft nicht repaint auf AWT, Swing, JavaFX & SWT 0
S Swing Update eine JTabelle nach einer Drag&Drop Operation AWT, Swing, JavaFX & SWT 0
C Swing Update von swing-TableModels per Thread. Eins geht, das andere nicht, warum? AWT, Swing, JavaFX & SWT 12
V Swing Update Textarea AWT, Swing, JavaFX & SWT 2
T Event Handling JFreeChart Update AWT, Swing, JavaFX & SWT 2
Farbtopf Live update JFreeChart AWT, Swing, JavaFX & SWT 3
F Swing GUI-Thread für automatisches Update nutzen AWT, Swing, JavaFX & SWT 10
El_Lobo Swing bei Update von Graphik Koordinatensystem nicht jedesmal neu zeichnen AWT, Swing, JavaFX & SWT 2
M Update JPanel AWT, Swing, JavaFX & SWT 12
N update model nach dem filtern AWT, Swing, JavaFX & SWT 2
E Umgang mit der Update Methode AWT, Swing, JavaFX & SWT 38
L Update JTree Verzeichnisse AWT, Swing, JavaFX & SWT 9
G Swing Update-Funktion für Swing-Anwendung AWT, Swing, JavaFX & SWT 5
E Swing JTextField Listener nach Update?! AWT, Swing, JavaFX & SWT 2
P 2D-Grafik PaintComponent() übernimmt keine Werte aus update() AWT, Swing, JavaFX & SWT 8
D Swing update eines Labels nicht sichtbar AWT, Swing, JavaFX & SWT 9
N Tablle nach SQL-Update neu Laden AWT, Swing, JavaFX & SWT 4
M SWT grabExcessHorizontalSpace update ? refresh ? AWT, Swing, JavaFX & SWT 6
P Observer und GUI Update AWT, Swing, JavaFX & SWT 2
w0ddes Swing Update: Laufendes GUI updaten AWT, Swing, JavaFX & SWT 8
M Swing Kein update bei simulierten HTML-Link AWT, Swing, JavaFX & SWT 4
C SWT Shell update probleme - Mausbewegung nötig AWT, Swing, JavaFX & SWT 2
hdi Swing GUI update vs. Process Speed AWT, Swing, JavaFX & SWT 31
hdi Swing Gui Update Problem (EDT) AWT, Swing, JavaFX & SWT 6
C JList update über tabbedPane? AWT, Swing, JavaFX & SWT 18
M Update einer JTEextArea AWT, Swing, JavaFX & SWT 2
S Update des fensters beim Ersetzen von JPanels AWT, Swing, JavaFX & SWT 9
G Features nach Update löschen AWT, Swing, JavaFX & SWT 2
J Fragen zur Vererbung und Update AWT, Swing, JavaFX & SWT 12
B Update von JLabels AWT, Swing, JavaFX & SWT 2
C Habe Probleme beim Bild laden! *Update 30.11.2006* AWT, Swing, JavaFX & SWT 28
C JTreeTable update Problem AWT, Swing, JavaFX & SWT 4
S Probleme mit dem Update einer JList AWT, Swing, JavaFX & SWT 7
B View zeichnet Daten aus dem Model ohne Update AWT, Swing, JavaFX & SWT 4
A Update von Frameinhalt und Scrollbar AWT, Swing, JavaFX & SWT 11
F MVC: Update von View und Controller AWT, Swing, JavaFX & SWT 5
P paintComponent /paint/ update/ offscreenImage / Graphics2D / AWT, Swing, JavaFX & SWT 4
S JMenuBar + update AWT, Swing, JavaFX & SWT 3
G JTree - ungültiger selection update AWT, Swing, JavaFX & SWT 2
G Problem mit JLabel Update AWT, Swing, JavaFX & SWT 3
N update()-Methode für Canvas AWT, Swing, JavaFX & SWT 9
A problem mit update nach event, JSplitpane spinnt AWT, Swing, JavaFX & SWT 2
S Update von Grafik auf JPanel AWT, Swing, JavaFX & SWT 2
M GUI Update während der Verarbeitung einer Methode AWT, Swing, JavaFX & SWT 3
T Problem bei Update von JTables in JTabbedPane AWT, Swing, JavaFX & SWT 2
D Problem beim Update von unsichtbaren JComponents mit Timern AWT, Swing, JavaFX & SWT 5
D Swing: GUI-Update-Problem AWT, Swing, JavaFX & SWT 3
J Warum funktioniert das Update des UI nicht? AWT, Swing, JavaFX & SWT 8
I GUI-Update-Probleme AWT, Swing, JavaFX & SWT 2
G Update von JPanel nach Buttonbetätigung AWT, Swing, JavaFX & SWT 1
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben