Anfänger Probleme mit JTable bitte um Rat!

Status
Nicht offen für weitere Antworten.
P

payne

Gast
Hallo,

ich bin blutiger anfänger in der Java Programmierung, und versuche mich im Moment an JTables. Folgendes möchte ich programmieren.

Es erscheint zuerst ein Login Screen wo der benutzer einen Namen und eine UserID in jeweils ein TextField eingeben kann, und dann auf einen Login Button klicken kann/soll. Sobald auf denn Login Buton gedrückt wird soll ein neues Fenster aufgemacht werden das 900x900 gross sein soll.

In diesem neuem Fenster soll es nun eine JTable geben die aber nicht das ganze Fenster ausfüllen soll. Denn ich möchte noch ein parr Buttons , Labels etc auf das Fenster plazieren. Könnte mir einer von euch bitte ein kleines Beispiel zu meinem vorhaben schreiben?


hier zuerst einmal mein Ansatz bisher, wobei ich nichteinmal das JTable zum anzeigen bringe -.-



Hier die Klasse mit dem Login Fenster die zuerst gestartet wird.

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

/**
 * 
 * Beschreibung
 * 
 * @version 1.0 vom 29.08.2008
 * @author
 */

public class Login extends JFrame {
	// Anfang Attribute
	private JButton jButton1 = new JButton();
	private JTextField jTextField1 = new JTextField();
	private JTextField jTextField2 = new JTextField();

	// Ende Attribute

	public Login(String title) {
		// Frame-Initialisierung
		super(title);
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		int frameWidth = 579;
		int frameHeight = 528;
		setSize(frameWidth, frameHeight);
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		int x = (d.width - getSize().width) / 2;
		int y = (d.height - getSize().height) / 2;
		setLocation(x, y);
		Container cp = getContentPane();
		cp.setLayout(null);
		// Anfang Komponenten

		jButton1.setBounds(152, 232, 161, 65);
		jButton1.setText("Login");
		jButton1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				jButton1_ActionPerformed(evt);
			}
		});
		cp.add(jButton1);
		jTextField1.setBounds(32, 128, 153, 40);
		jTextField1.setText("jTextField1");
		cp.add(jTextField1);
		jTextField2.setBounds(264, 128, 137, 40);
		jTextField2.setText("jTextField2");
		cp.add(jTextField2);
		// Ende Komponenten

		setResizable(false);
		setVisible(true);
	}

	// Anfang Methoden
	public void jButton1_ActionPerformed(ActionEvent evt) {
		// TODO hier Quelltext einfügen

		Frame fr = new Frame("blubb");
		Container content = fr.getContentPane();
		JTableDemo jtable = new JTableDemo();
		content.add(new JScrollPane(jtable.getTable()));
	

	}

	// Ende Methoden

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


Hier die Frame Klasse die geöffnet werden soll mit dem Inhalt der Table wobei der Inhalt im Moment noch keine Rolle spielt erstmal möchte ich das es mir überhaupt eine JTable anzeigt <_<

Code:
import java.awt.Container;
import java.awt.Dimension;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;


import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;

import com.sun.media.sound.Toolkit;


public class Frame extends JFrame {

	/**
	  *
	  * Beschreibung
	  *
	  * @version 1.0 vom 29.08.2008
	  * @author
	  */


	  public Frame(String title) {
	
	    super(title);
	    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	    int frameWidth = 965;
	    int frameHeight = 745;
	    setSize(frameWidth, frameHeight);
	    Container cp = getContentPane();
	    cp.setLayout(null);
	    // Anfang Komponenten
	    // Ende Komponenten

	    setResizable(false);
	    setVisible(true);
	  }

	  // Anfang Methoden
	  // Ende Methoden


	
}


Diese Klasse soll mir die Tabelle erstellen und soll die Tabelle als Objekt zurückliefern.




Code:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class JTableDemo{
	
   public JTable getTable() {
      // Die Namen der Columns
      String[] titles = new String[]{ "A", "B", "C", "D" };
      
      // Das Model das wir verwenden werden. Hier setzten wir gleich die
      // Titel, aber es ist später immer noch möglich weitere Columns oder
      // Rows hinzuzufügen.
      final DefaultTableModel model = new DefaultTableModel( titles, 0 );
      
      // Das JTable initialisieren
      JTable table = new JTable( model );
      
      // Buttons, damit das alles schöner aussieht.
      final JButton buttonAddRow = new JButton( "add row" );
      final JButton buttonRemRow = new JButton( "remove row" );
      final JButton buttonAddCol = new JButton( "add column" );
      
      buttonRemRow.setEnabled( false );
      
      // Den Buttons ein paar Reaktionen geben
      buttonAddRow.addActionListener( new ActionListener(){
         public void actionPerformed(ActionEvent e) {
            // Die Anzahl Columns (Breite) der Tabelle
            int size = model.getColumnCount();
            
            // einen neuen Vector mit Daten herstellen
            Vector newDatas = createDataVector( "row", size );
            
            // eine neue Row hinzufügen
            model.addRow( newDatas );
            
            
            // das Entfernen erlauben
            buttonRemRow.setEnabled( true );
         }
      });
      
      buttonAddCol.addActionListener( new ActionListener(){
         public void actionPerformed(ActionEvent e) {
            int size = model.getRowCount();
            Vector newDatas = createDataVector( "column", size );
            String name = String.valueOf( model.getColumnCount() );
            model.addColumn( name, newDatas );
         }
      });
      
      buttonRemRow.addActionListener( new ActionListener(){
         public void actionPerformed(ActionEvent e) {
            int size = model.getRowCount();
            int index = (int)(Math.random() * size);
            model.removeRow( index );
            
            buttonRemRow.setEnabled( size > 1 );
         }
      });
      
   
      return table;
   }
   
   public static Vector createDataVector( String prefix, int size ){
      Vector vector = new Vector( size );
      for( int i = 0; i < size; i++ )
         vector.add( prefix + " : " + size + " : " + i );
      
      return vector;
   }
}


Ich hoffe es kann mir jemand von euch helfen.

Gruss
 

Wildcard

Top Contributor
Warum denn soviel Code? Beschränke dich doch auf das Wesentliche.
Ausserdem solltest du wirklich erstmal verstehen wie man Swing benutzt, bevor du irgendetwas aufwendiges machst.
Das wichtigste: Lern LayoutManager zu benutzen, kein Mensch verwendet null 'Layout'.
Sieh dir doch einfach mal das JTable Tutorial in der FAQ an bevor du allzu viel arbeit investierst.
Zu deinem konkreten Problem: Immer erst die Components einfügen und erst danach setVisible(true) aufrufen.
 
P

Payne

Gast
Ich habe mir das JTable FAQ durchgelesen, und verstehe auch wie die JTable funktioniert und aufgebaut wird etc., nur komme ich nicht mit den Zusammenhängen klar wie ich nun konkret das neue Frame mit dem inhalt der Table und einem Layoutmanager bei einem Button event von meinem Login Fenster richtig aufrufen kann bzw muss und wie ich die einzelnen Klassen dazu aufteilen muss.


für ein kleines kleines konkretes beispiel währe ich echt dankbar.
 
G

Gast

Gast
SElbstverständlich werden auch Null-Layout verwendet. Insbesonders dann wenn es sich um eine Individuelle nach Kundenwunsch erstellte Software handelt.

Gruß Michael
 

Marco13

Top Contributor
Ja, SElbstverständlich ... Wenn der Kunde sagt: "Ich möchte, dass mein GUI beim Verändern der Fenstergröße total murksig aussieht" dann ist das null-Layout erste Wahl :toll:

@Payne: Aus den Demo-Prgrammen vom JTable und ActionListener sollte man sich doch was zusammenbasteln können, was bei einem Buttonklick ein Fenster mit einer JTable aufmacht. In dem speziellen Fall sollte erstmal im Konsruktor von "Frame"
Code:
       //cp.setLayout(null); //<---------- Das hier und...
       // Anfang Komponenten
       // Ende Komponenten

       setResizable(false);
       // setVisible(true);   //<---------- ... das hier
auskommentiert werden, und in der ActionPerformed dann
Code:
      Frame fr = new Frame("blubb");
      Container content = fr.getContentPane();
      JTableDemo jtable = new JTableDemo();
      content.add(new JScrollPane(jtable.getTable())); 
      fr.setVisible(true); //<-------------- Das hier
eingefügt werden. Getestet habe ich es jetzt aber noch nicht, kann also sein, dass das nicht die einzigen flaws waren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Design-Probleme (Swing-Anfänger) AWT, Swing, JavaFX & SWT 6
Paty JFrame anfänger bräuchte hilfestellung AWT, Swing, JavaFX & SWT 7
N 3D Games anfänger AWT, Swing, JavaFX & SWT 10
C Swing AWT GUI Anfänger Aufgabe AWT, Swing, JavaFX & SWT 7
S Hilfe bei Java Gui Anfänger AWT, Swing, JavaFX & SWT 5
I Erste Desktop Software - blutiger Anfänger AWT, Swing, JavaFX & SWT 4
R Flickr-Flickr4Java Anfänger AWT, Swing, JavaFX & SWT 2
D [Anfänger]ComboBox erstellt Einträge in einer anderen ComboBox AWT, Swing, JavaFX & SWT 3
J GUI Anfänger einfaches Program AWT, Swing, JavaFX & SWT AWT, Swing, JavaFX & SWT 3
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
T Swing NullPointerException beim auslesen von jTextField - Anfänger! AWT, Swing, JavaFX & SWT 3
M JFrame - Anfänger, kurze Erklärung AWT, Swing, JavaFX & SWT 5
G Swing anfänger AWT, Swing, JavaFX & SWT 2
N Swing JTable anfänger frage AWT, Swing, JavaFX & SWT 2
K AWT Anfänger AWT, Swing, JavaFX & SWT 6
K Swing SwingGUI - Erstellen für Anfänger AWT, Swing, JavaFX & SWT 15
P Anfänger Problem AWT, Swing, JavaFX & SWT 8
2 Anfänger problem: Buttenklick soll reagieren AWT, Swing, JavaFX & SWT 9
S Button Größe - Anfänger AWT, Swing, JavaFX & SWT 13
S Anfänger - JFrame/JLabel nicht sichtbar AWT, Swing, JavaFX & SWT 5
R Panel dupliziert sich und Textboxes werden nicht angezeigt [Anfänger] AWT, Swing, JavaFX & SWT 6
K GUI-Hilfe für Anfänger AWT, Swing, JavaFX & SWT 15
P Stack Anfänger AWT, Swing, JavaFX & SWT 8
R AWT [Anfänger] Darstellungsfehler bei Größenändereung einese Fensters AWT, Swing, JavaFX & SWT 2
R AWT [Anfänger] keine atives Aussehen von Buttons AWT, Swing, JavaFX & SWT 4
R AWT [Anfänger] Radio Buttons NetBeans 6.7.1 AWT, Swing, JavaFX & SWT 2
S Anfänger: Layoutproblem ! AWT, Swing, JavaFX & SWT 3
E Anfänger-JPanel aus Menü aufrufen AWT, Swing, JavaFX & SWT 4
B Anfänger: Panel bei Button Klick anzeigen? AWT, Swing, JavaFX & SWT 4
B GUI Anfänger -> Versionsunterschiede in Swing 1.5 / 1.4 . AWT, Swing, JavaFX & SWT 27
Juelin Probleme bei Stage.close() AWT, Swing, JavaFX & SWT 23
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
E repaint Probleme AWT, Swing, JavaFX & SWT 13
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
J Probleme mit idividueller Tablecell AWT, Swing, JavaFX & SWT 0
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
J Probleme mit InputDialog AWT, Swing, JavaFX & SWT 4
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
pph080560 JavaFX Probleme mit FX AWT, Swing, JavaFX & SWT 3
M Probleme mit OpenJDK AWT, Swing, JavaFX & SWT 6
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
H JFreeChart - DemoDataSetFactory Probleme AWT, Swing, JavaFX & SWT 1
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
U Opaque Probleme AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
F JavaFX Probleme beim automatischen Konvertieren AWT, Swing, JavaFX & SWT 4
S Probleme mit JComboboxen(?) AWT, Swing, JavaFX & SWT 18
S Swing Probleme mit MigLayout AWT, Swing, JavaFX & SWT 2
C Probleme mit createImage AWT, Swing, JavaFX & SWT 1
J Probleme mit contex Menu (javafx) AWT, Swing, JavaFX & SWT 1
J Probleme bei GameofLife AWT, Swing, JavaFX & SWT 24
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 0
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 5
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
D Swing Probleme mit dem Resizing AWT, Swing, JavaFX & SWT 7
G Probleme mit TextArea AWT, Swing, JavaFX & SWT 5
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
K Probleme beim JPasswordField AWT, Swing, JavaFX & SWT 11
G Cardlayout Refresh Probleme AWT, Swing, JavaFX & SWT 2
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
M JButton Probleme AWT, Swing, JavaFX & SWT 14
L Probleme mit Programm AWT, Swing, JavaFX & SWT 13
blazingblade komischerweise probleme mit jtextfield.gettext() AWT, Swing, JavaFX & SWT 9
Xanny 2D-Grafik Beginner! Probleme mit Swing, Gprahics class und paint AWT, Swing, JavaFX & SWT 13
Sin137 LayoutManager GridBagLayout Probleme AWT, Swing, JavaFX & SWT 6
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
M Swing Probleme mit Frame.pack() AWT, Swing, JavaFX & SWT 1
C Java FX Probleme beim Schließen einer Stage AWT, Swing, JavaFX & SWT 11
M Swing JProgressbar und Outoputstream probleme AWT, Swing, JavaFX & SWT 2
S Swing Probleme mit transparenz der Hintergrundfarbe und JRadioButtons AWT, Swing, JavaFX & SWT 2
Z Probleme mit JPanel's AWT, Swing, JavaFX & SWT 6
T Probleme mit Anzeige von Elementen im JPanel AWT, Swing, JavaFX & SWT 1
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
A Probleme mit TilledBorder("***") AWT, Swing, JavaFX & SWT 4
F Bildschirmschoner Probleme mit Preview AWT, Swing, JavaFX & SWT 8
X Panel Probleme (Tetris) AWT, Swing, JavaFX & SWT 8
N JTable probleme AWT, Swing, JavaFX & SWT 5
B Probleme bei ImageIO.read (?!) AWT, Swing, JavaFX & SWT 9
P JFrame Location-/Size-Probleme AWT, Swing, JavaFX & SWT 5
U LayoutManager Probleme mit Layouts AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben