Im Frame wird nur die Menüleiste erstellt und nicht die Tabelle?

Guten Tag habe ein kleines Problem ich möchte ein Frame erstellen welches eine menuleite und eine tabelle beinhaltet. komm nicht darauf warum nur die MenuLeiste erzeugt wird.

Meine Main Klasse

Java:
public class Main {
 public static void main (String args[]){

    Frame ft= new Frame();
 }

}

Die Klasse wo das Frame erzeugt wird

Java:
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.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableModel;





    public class Frame implements ActionListener {

     JFrame Frame;
     Container container;

     // Menüleiste
     JMenuBar menueLeiste;

     // Menüleiste Elemente
     JMenu File;
     JMenu Help;


     // Datei
     JMenuItem New;
     JMenuItem Save;
     JMenuItem Save2;
     JMenuItem beenden;







     public  Frame() {
          Frame = new JFrame("Tabelle");// Anzahl der Tabellen die schon erstellt wurden fehtl noch

//
          container = Frame.getContentPane();


          // Menüleiste erzeugen
          menueLeiste = new JMenuBar();

          // Menüelemente erzeugen
          File = new JMenu("File");
          Help = new JMenu("Help");

          // Untermenüelemente erzeugen
          New = new JMenuItem("New");
          New.addActionListener(this);
          beenden = new JMenuItem("beenden");
          beenden.addActionListener(this);
          Save= new JMenuItem("Save");
          Save.addActionListener(this);
          Save2= new JMenuItem("Save As");
          Save2.addActionListener(this);

          // Menüelemente hinzufügen
          menueLeiste.add(File);
          menueLeiste.add(Help);

          // Untermenüelemente hinzufügen
          File.add(New);
          File.add(Save);
          File.add(Save2);
          File.add(beenden);

// Das JTable initialisieren
        Vector title = new Vector();
        title.add("A");
        title.add("B");
        title.add("C");
        title.add("D");
        title.add("E");

        JTable table = new JTable();
// JTable table = new JTable(createData(), title);


      
         JScrollPane pane = new JScrollPane(table);
        // mit diesem Befehl wird die Leiste links angesetzt.
        pane.setRowHeader(new TableRowHeader(table, pane));

        Frame.getContentPane().add(pane);
          Frame.add(menueLeiste, BorderLayout.NORTH);
          Frame.add(table,BorderLayout.CENTER);
      //    Frame.add(new JScrollPane(), BorderLayout.CENTER);

          Frame.setSize(400, 300);
          Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          Frame.setVisible(true);
     }

     public void actionPerformed(ActionEvent object) {
          if (object.getSource() == New){
               System.out.println("öffnen wurde angeklickt");
          }
          if (object.getSource() == beenden){
               System.out.println("beenden wurde angeklickt");
          }
          if (object.getSource() == Save){
               System.out.println("Save wurde angeklickt");
          }
          if (object.getSource() == Save2){
               System.out.println("Save As wurde angeklickt");
          }
     if (object.getSource()==Help){
         System.out.println("Help wurde angeklickt");
     }
     }

    public JFrame getFrame() {
        return Frame;
    }

public class JTableDemo {
  

    // Produziert genug Daten, dass man scrollen kann.
    private  Vector createData() {
        Vector data = new Vector();

        for (int i = 1; i < 14; i++) {
            Vector temp = new Vector();
            for (int j = 0; j < 2; j++) {
                data.add(temp);
            }
        }

        return data;
    }
}

}
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
Variablen immer klein, ganz besonders nicht so wie Klassen benennen!
keine eigene Klassen wie Java-Klassen benennen, Frame gibts auch schon

Komponenten immer nur einmal hinzufügen, wenn die table einmal in einem ScrollPane steckt, dann nirgendwo anders mehr
und entscheide dich, ob du getContentPane().add() benutzt oder nur add() :

> JScrollPane pane = new JScrollPane(table);
> Frame.getContentPane().add(pane);
> Frame.add(table,BorderLayout.CENTER);
 
okay habs hinbekommen das meine tabelle nun angezeigt wird allerdings fehlen jetzt die Header der Spalten!! (die sachen mit der umbennung kommt noch)
Kann dies durch des BorderLayout kommen und er einfach die Menuleiste übder die Header legt?


Java:
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.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableModel;



public class Hauptfenster implements ActionListener {

    JFrame Frame;
    Container container;
    // Menüleiste
    JMenuBar menueLeiste;
    // Menüleiste Elemente
    JMenu File;
    JMenu Help;
    // Datei
    JMenuItem New;
    JMenuItem Save;
    JMenuItem Save2;
    JMenuItem beenden;

    private static Vector createData() {
        Vector data = new Vector();

        for (int i = 1; i < 24; i++) {
            Vector temp = new Vector();
            for (int j = 0; j < 2; j++) {
                data.add(temp);
            }
        }

        return data;
    }

    public Hauptfenster() {
        Frame = new JFrame("Tabelle");// Anzahl der Tabellen die schon erstellt wurden fehtl noch

//
        //container = Frame.getContentPane();


        // Menüleiste erzeugen
        menueLeiste = new JMenuBar();

        // Menüelemente erzeugen
        File = new JMenu("File");
        Help = new JMenu("Help");

        // Untermenüelemente erzeugen
        New = new JMenuItem("New");
        New.addActionListener(this);
        beenden = new JMenuItem("beenden");
        beenden.addActionListener(this);
        Save = new JMenuItem("Save");
        Save.addActionListener(this);
        Save2 = new JMenuItem("Save As");
        Save2.addActionListener(this);

        // Menüelemente hinzufügen
        menueLeiste.add(File);
        menueLeiste.add(Help);

        // Untermenüelemente hinzufügen
        File.add(New);
        File.add(Save);
        File.add(Save2);
        File.add(beenden);

// Das JTable initialisieren
        Vector title = new Vector();
        title.add("A");
        title.add("B");
        title.add("C");
        title.add("D");
        title.add("E");

        JTable table = new JTable(createData(), title);
//createData(), title



        JScrollPane pane = new JScrollPane(table);
        // mit diesem Befehl wird die Leiste links angesetzt.
        pane.setRowHeader(new TableRowHeader(table, pane));

        Frame.add(pane);
        Frame.pack();
//        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        frame.pack();
//        frame.setVisible(true);





        Frame.add(menueLeiste, BorderLayout.NORTH);

        Frame.add(table, BorderLayout.CENTER);

        Frame.add(pane,BorderLayout.WEST);
//          Frame.add(table,BorderLayout.CENTER);
        // Frame.add(new JScrollPane(), BorderLayout.CENTER);

        Frame.setSize(400, 300);
        Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Frame.setVisible(true);




}

//    public void actionPerformed(ActionEvent e) {
//        throw new UnsupportedOperationException("Not supported yet.");
//    }

public void actionPerformed2(ActionEvent object) {
          if (object.getSource() == New){
               System.out.println("öffnen wurde angeklickt");
          }

if (object.getSource() == beenden){
               System.out.println("beenden wurde angeklickt");
          }

if (object.getSource() == Save){
               System.out.println("Save wurde angeklickt");
          }

if (object.getSource() == Save2){
               System.out.println("Save As wurde angeklickt");
          }

if (object.getSource()==Help){
         System.out.println("Help wurde angeklickt");
     }

}

    public void actionPerformed(ActionEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}



Klasse für die Header
Java:
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JViewport;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

public class TableRowHeader extends JViewport implements AdjustmentListener{
    private JTable  table;
    private Cell cell;

    public TableRowHeader( JTable table, JScrollPane parent ) {
        this.table = table;
        cell = new Cell();
        setView( new Dummy() );
        setPreferredSize( new Dimension( 100, 0 ) );

        parent.getVerticalScrollBar().addAdjustmentListener( this );
        parent.getHorizontalScrollBar().addAdjustmentListener( this );
    }

    public void adjustmentValueChanged( AdjustmentEvent e ) {
        repaint();
    }

    @Override
    protected void paintComponent(Graphics g){
        super.paintComponent( g );
        Rectangle rec = TableRowHeader.this.getViewRect();

        int y = 1;
        int rows = table.getRowCount();
        int index = 1;

        if( rows == 1 )
            return;

        if( y + table.getRowHeight(1 ) < rec.y ){
            while( index < rows ){
                int height = table.getRowHeight( index );

                if( y + height < rec.y ){
                    y += height;
                    index++;
                }
                else
                    break;
            }
        }

        int max = rec.y + rec.height;
        int width = getWidth();

        while( y <= max && index <= rows ){
            int height = table.getRowHeight( index );
            cell.set( index );
            SwingUtilities.paintComponent( g, cell, this, 0, y-rec.y, width, height );

            y += height;
            index++;
        }
    }

    // Nur eine leere Hülle, damit eine "Simulation" aufgebaut werden kann.
    private static class Dummy extends JComponent{
        public void paint( Graphics g ){
            // do nothing
        }

        public void update( Graphics g ) {
            // do nothing
        }
    }

    // Stellt den Knopf für eine Reihe dar.
    private class Cell extends JLabel {
        public void set( int row ) {
            setHorizontalAlignment( CENTER );
            setForeground( TableRowHeader.this.getForeground() );
            setBackground( TableRowHeader.this.getBackground() );
            setFont( TableRowHeader.this.getFont() );
            setText( "" + row );
            setBorder( UIManager.getBorder( "TableHeader.cellBorder" ) );
        }
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius Wer oder was bestimmt welches Frame toFront kommt wenn ein anderes geschlossen wird? AWT, Swing, JavaFX & SWT 8
Z Swing Frame wird geöffnet, aber ist ohne Inhalt AWT, Swing, JavaFX & SWT 0
L Swing Frame in Thread wird nicht gezeichnet AWT, Swing, JavaFX & SWT 2
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3
S Swing Panelgröße anpassen wenn Frame maximiert wird AWT, Swing, JavaFX & SWT 2
S Swing Während Frame verschoben wird... AWT, Swing, JavaFX & SWT 2
Luk10 Frame-Inhalt wird nicht angezeigt! AWT, Swing, JavaFX & SWT 2
R Frame Formartierung wird beim Minimieren zerstört AWT, Swing, JavaFX & SWT 6
A image wird nicht geladen in frame AWT, Swing, JavaFX & SWT 2
A Fenster bzw. Frame wird nicht immer sichtbar AWT, Swing, JavaFX & SWT 12
W jInternal Frame wird nicht sichtbar AWT, Swing, JavaFX & SWT 10
C Componente verkleinern lasse wenn die Frame verkleinert wird AWT, Swing, JavaFX & SWT 2
I Hilfe - Das Frame wird überhaupt nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 3
F Frame wird nicht angezeigt nach while-Schleife AWT, Swing, JavaFX & SWT 3
Fragerjava Frame inhalt komplett löschen AWT, Swing, JavaFX & SWT 4
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
Kotelettklopfer Frame ändert Farbe nicht AWT, Swing, JavaFX & SWT 12
P Swing Zufallsbilder auf Frame ausgeben AWT, Swing, JavaFX & SWT 1
D AWT Wie kann ich ein Frame von einem anderen aus beeinflussen? AWT, Swing, JavaFX & SWT 7
R 2D-Grafik Massive Frame Drops beim Benutzen von AffineTransformOp AWT, Swing, JavaFX & SWT 2
C Swing F5 Taste neu laden auf ganzen Frame AWT, Swing, JavaFX & SWT 9
J Genutzte Methoden in einen Frame einbauen AWT, Swing, JavaFX & SWT 21
H Swing Frame an andere Klassen weitergeben AWT, Swing, JavaFX & SWT 4
olfibits Swing JavaFX-Frame in JDesktopPane darstellen? AWT, Swing, JavaFX & SWT 2
F Swing Frame nach vorne holen AWT, Swing, JavaFX & SWT 2
J Panel auf Frame positionieren AWT, Swing, JavaFX & SWT 9
K Frame aus anderer Klasse schließen AWT, Swing, JavaFX & SWT 3
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
S Tastatur frame nur nur 1 mal öffnen AWT, Swing, JavaFX & SWT 1
T Swing Java-Frame bei Programmstart NICHT im Vordergrund öffnen AWT, Swing, JavaFX & SWT 2
A Programm nun in ein Frame basteln AWT, Swing, JavaFX & SWT 1
T Frame öffnet nicht AWT, Swing, JavaFX & SWT 1
A Swing GUI - Button soll Frame verändern AWT, Swing, JavaFX & SWT 4
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
S mit keylistener frame schliessen AWT, Swing, JavaFX & SWT 8
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
S NetBeans, Panel in Frame einfügen AWT, Swing, JavaFX & SWT 3
M Internal Frame in den vordergrund AWT, Swing, JavaFX & SWT 4
Tausendsassa Frame öffnet aber zeigt keinen Inhalt... AWT, Swing, JavaFX & SWT 10
Tom299 JavaFX Ähnliche Komponente wie der VB6 Frame? AWT, Swing, JavaFX & SWT 2
D Buttons erscheinen nicht auf Frame AWT, Swing, JavaFX & SWT 2
M Swing Probleme mit Frame.pack() AWT, Swing, JavaFX & SWT 1
B Frame hängt sich auf trotz invokeLater AWT, Swing, JavaFX & SWT 1
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
M JavaFX wie kann mann sein frame mit einem Icon fersehen? AWT, Swing, JavaFX & SWT 2
Z Canvas in Frame einfügen. Problem mit 4-Gewinnt AWT, Swing, JavaFX & SWT 1
P Frame friert ein AWT, Swing, JavaFX & SWT 6
Z Frame mit Rechteck! AWT, Swing, JavaFX & SWT 16
Messoras JWindow/Frame durch das man durchklicken kann AWT, Swing, JavaFX & SWT 5
M Swing "Frame.setResizable(false);" verschiebt Content? AWT, Swing, JavaFX & SWT 9
X Swing 1 JButton bedeckt meine ganze Frame aber Warum? AWT, Swing, JavaFX & SWT 2
J JTable aktuallisieren über anderen Frame AWT, Swing, JavaFX & SWT 6
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
S Quadrat auf Frame zeichnen AWT, Swing, JavaFX & SWT 2
B JFrame immer an gleicher stelle auf anderem Frame AWT, Swing, JavaFX & SWT 5
F JAVA-EDITOR: Panel in Frame aufnehmen AWT, Swing, JavaFX & SWT 3
B Swing JMenuBar unten in der Frame setzen? AWT, Swing, JavaFX & SWT 15
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
L JButton im Frame fest verankern AWT, Swing, JavaFX & SWT 0
D Buttons erscheinen nicht auf dem zweiten Frame AWT, Swing, JavaFX & SWT 4
X Swing Größe eines Fensters JFrame / Frame AWT, Swing, JavaFX & SWT 5
BRoll Frame- Video einbinden machbar? AWT, Swing, JavaFX & SWT 6
Kandum obj_JMenu.addMenuListener - variable Anzahl an JMenus / menulistenern & frame.setTitle() dynamisch AWT, Swing, JavaFX & SWT 7
B Frame always on top nur auf anderem Frame AWT, Swing, JavaFX & SWT 9
S Aufteilung von JPanels in einem Frame AWT, Swing, JavaFX & SWT 13
K Options-Frame integrieren (zum zuschalten und wegschalten wie geht man da ran? AWT, Swing, JavaFX & SWT 7
J Frame mit Button erstellen - Warum ist es nötig, Frame über Unterklasse zu erstellen? (Reg Listener) AWT, Swing, JavaFX & SWT 2
N Swing Endlosschleife blockt Frame AWT, Swing, JavaFX & SWT 11
B Swing JDialog modal, aber trotzdem Frame auswählbar AWT, Swing, JavaFX & SWT 2
N Swing Frame ungewollt transparent! AWT, Swing, JavaFX & SWT 2
J Kleines Anzeige Problem(nur blanker Frame) AWT, Swing, JavaFX & SWT 22
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
Daniel_L Drop von Dateien auf Frame - welche Drop-Location? AWT, Swing, JavaFX & SWT 2
J JMenuBar ist geaddet, aber nicht im Frame. Wo ist der Fehler? (inkl. Code) AWT, Swing, JavaFX & SWT 2
C LookAndFeel Frame updated nicht vollständig AWT, Swing, JavaFX & SWT 9
K 3D-Grafik Canvas ist ein eigener Frame?! AWT, Swing, JavaFX & SWT 13
L Jbutton + jcombobox mit vorhandenen frame verknüfen AWT, Swing, JavaFX & SWT 8
J 2 Bereiche im Frame komplett nutzen - Welchen Layoutmanager? AWT, Swing, JavaFX & SWT 3
Z Swing JTextfield auf Frame AWT, Swing, JavaFX & SWT 13
N Swing Frame mit GlassPane und Popup AWT, Swing, JavaFX & SWT 5
L Frame Schließen und neustarten AWT, Swing, JavaFX & SWT 4
L Mehre Panels einen Frame zuweisen AWT, Swing, JavaFX & SWT 11
P Frame "always on top" und welche GUI? AWT, Swing, JavaFX & SWT 5
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
S JMenuBar Frame Abstand AWT, Swing, JavaFX & SWT 3
J Swing Frame öffnen aus Frame mit JButton AWT, Swing, JavaFX & SWT 2
X Alte Frame-Größe beim wiederholten Aufruf AWT, Swing, JavaFX & SWT 5
M erstes Frame wartet auf die Auswertung eines zweiten AWT, Swing, JavaFX & SWT 8
J Frame-Steuerelement AWT, Swing, JavaFX & SWT 2
L Swing Flackern in Frame bei erstem Klick AWT, Swing, JavaFX & SWT 19
F Hintergrundbild im Frame AWT, Swing, JavaFX & SWT 11
S Zeichnen führt zu transparentem Frame AWT, Swing, JavaFX & SWT 6
S Swing Frame und Klasse extends JPanel - Komponenten zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 18
B Frame im Frame? AWT, Swing, JavaFX & SWT 4
C WindowListener Frame AWT, Swing, JavaFX & SWT 8
P klassenübergreifendes Frame AWT, Swing, JavaFX & SWT 6
B Text soll nich über das Frame hinausgehen AWT, Swing, JavaFX & SWT 5
J Hintergrund Label-Frame AWT, Swing, JavaFX & SWT 3
Spin JFrame/ Frame Drag and Drop AWT, Swing, JavaFX & SWT 13

Ähnliche Java Themen

Neue Themen


Oben