JTabel größe ändern und button anzeigen

Hi alle zusammen!!!
Ich habe heute mal eine bißchen mit JTable rumprobiert und habe damit
ein Problem. Ich erstelle einen Frame und daruaf einen JTable und einen Button.
Mein Problem ist, dass ich die Tabelle in einem ScrollPane haben will und dass
die Tabelle nicht zu groß wird.
Außerdem füge ich dem Frame einen Button zu, der allerdings nicht angezeigt
wird.

Hier noch mal der Code:


    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableModel;
     
    public class Main {
     
        public static void main(String[] args) {
     
            String[][] eins = {{"1"}, {"2"}, {"3"}, {"4"}, {"5"}, {"6"}, {"7"}, {"8"}, {"9"}, {"10"}};
            String[] zwei = { "", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag"};
            TableModel tmodel = new DefaultTableModel(eins, zwei);
           
                      JFrame f = new JFrame();
                      f.setResizable(false);
                      f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
                      final JTable table = new JTable();
                      table.setModel(tmodel);
                      f.add(new JScrollPane(table));
                      f.setSize(800, 600);
                      f.setVisible( true );
                     
                      JButton btnNew = new JButton();
                      btnNew.setBounds(12, 676, 199, 40);
                      btnNew.setVisible(true);
                      f.add(btnNew);
           
        }
     
    }

Es sollte ein Stundenplan werden allerdings geht das dadurch nicht, weil ich mit dem Button
Stunden hinzufügen wollte.

MFG
programmierer12

f.setVisible(true); ist bei swing programmen immer der letzte befehl (in der initialisierung). Also erstmal alles hinzufügen, und dann sichtbar machen.
warum jtabel final?
button setBounds geht nur bei einem null layout. das ist aber bei soetwas nicht zu empfehlen. wo soll der button hin?
Die jscrollpane wird nicht angezeigt, weil die tabelle eben nicht zu gross ist. wenn du die scrollbalken immer angezeigt haben willst, dann mach

f.add(new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS));

Danke für deine Antwort,
der Button soll in die Linke untere Ecke.
Kann ich die Größe der ScrollPane auch ändern
und die Position verändern? Wenn ja brauche ich
ja auch ein null-layout, aber wenn ich dem Frame ein
Null-Layout zuteile, verschwindet die ScrollPane!
An was kann das liegen???

MFG
programmierer12

Schlag dir das null-layout erstmal aus dem kopf, das braucht man so gut wie nie. Du solltest dir erstmal die einfachsten layout-manager aneignen, das wären:

[ul]
[li]GridLayout - Byte-Welt-Wiki[/li][li]BorderLayout - Byte-Welt-Wiki[/li][li]FlowLayout[/li][li]AllesAufEinmal[/li][li]LayoutManager - Byte-Welt-Wiki[/li][/ul]

guck dir das erstmal an. die scrollpane verschwindet dann, weil bei einem null layout grösse und position gegeben sein muss.
sprich setBounds() aber wie gesagt, soetwas sollte man lieber mit passenden Layoutmanagern machen.