Announcement

Collapse
No announcement yet.

Mein TableModel kann ich nicht sehen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mein TableModel kann ich nicht sehen

    Hi Leute,
    ich weis echt nicht woran es liegt aber aus irgendeinem grund schaff ich es nicht mein TableModel in meinem Frame zu sehen. Fals mir jemand helfen kann wär ich echt hammer froh. Ich bin so ziemlich ein anfänger also ich bin ein richtiger Anfänger (Ist das erste mal das ich überhaupt was richtig Programmiere). Bis jetzt hatte ich es mit den Tutorials von java.sun.com versucht aber die haben mir auch nicht wirklich dann weiter geholfen.

    ***WPlaner.java***

    import javax.swing.*;

    public class WPlaner extends JScrollPane {

    public static void main(String[] args) {
    Frame1.createMyFrame();
    }
    }
    --------------------------------------------------------------------

    ***Frame1.java***

    import javax.swing.*;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;

    public class Frame1 extends JScrollPane {

    public static void createMyFrame(){
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame1 = new JFrame("Wochenplaner");
    frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLO SE);
    JMenuBar jmb = MenuBar.createMyMenuBar();
    jmb.setEnabled(true);
    frame1.setJMenuBar(jmb);
    MyTable mTable = new MyTable();
    mTable.setOpaque(true);
    frame1.setContentPane(mTable);
    mTable.setVisible(true);
    frame1.setSize(600,400);
    frame1.setVisible(true);
    }

    }
    -------------------------------------------------------------------------

    ***MenuBar.java***

    import javax.swing.*;

    public class MenuBar {

    public static JMenuBar createMyMenuBar(){
    JMenuBar mbar = new JMenuBar();
    JMenu WPlaner, Hilfe;
    JMenuItem Ausdruck, Exit, Help, About;
    WPlaner = new JMenu("WPlaner");
    Hilfe = new JMenu("Hilfe");
    mbar.add(WPlaner);
    Ausdruck = new JMenuItem("Ausdruck");
    Exit = new JMenuItem("Schließen");
    WPlaner.add(Ausdruck);
    WPlaner.addSeparator();
    WPlaner.add(Exit);
    mbar.add(Hilfe);
    Help = new JMenuItem("Hilfe");
    About = new JMenuItem("Info");
    Hilfe.add(Help);
    Hilfe.addSeparator();
    Hilfe.add(About);

    return mbar;
    }

    }
    ---------------------------------------------------------------------------

    ***MyTable.java***

    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    import java.awt.Dimension;
    import java.awt.GridLayout;

    public class MyTable extends JScrollPane{
    public MyTable(){
    JTable table = new JTable();
    MyTableModel mtm = new MyTableModel();
    table.setModel(mtm);
    table.setPreferredScrollableViewportSize(new Dimension(500, 70));
    }

    }

    ---------------------------------------------------------------------------

    ***MyTableModel.java***

    import javax.swing.table.AbstractTableModel;

    public class MyTableModel extends AbstractTableModel {
    private String[] Spalten={"Zeit","Montag","Dienstag","Mitwoch","Don nerstag","Freitag","Samstag","Sonntag"};
    private String[][] Zeilen={{"7:00"},{"8:00"},{"9:00"},{"10:00"},{"11: 00"},{"12:00"},{"13:00"},{"14:00"},{"15:00"},{"16: 00"},{"17:00"},{"18:00"},{"19:00"},{"20:00"}};

    public int getColumnCount() {
    return 8;
    }

    public int getRowCount() {
    return 14;
    }

    public String getColumnName(int col) {
    return Spalten[col];
    }
    public Object getValueAt(int row, int col) {
    return Zeilen[row][col];
    }

    public boolean isCellEditable(int row, int col) {
    //Note that the data/cell address is constant,
    //no matter where the cell appears onscreen.
    if (col < 2 || row < 2) {
    return false;
    } else {
    return true;
    }
    }


    }
    ---------------------------------------------------------------------------

    Danke schon im Vorraus!!!!!!!!!!!!!

  • #2
    Hallo Kasim,

    Deine Klasse MyTable macht eigentlich gar nichts. Im Konstruktor erzeugst Du zwar eine JTable mit einem TableModel, aber sobald der Konstruktor fertig ist, ist diese Table samt Model wieder weg. Wenn Deine Klasse MyTable schon von JScrollPane erbt, solltest Du im Konstruktor der JScrollPane (also "this") die erzeugte Table zuweisen.
    Was Du machst, ist ein Anlegen und sofortiges Wegschmeißen. MyTable, bei der es sich um eine ScrollPane handelt, hat keine Komponente zum Anzeigen und eine ScrollPane, die nichts zum Scrollen hat, ist selbst auch nicht zu sehen.

    In der Hoffnung, geholfen zu haben,
    Stefa

    Comment

    Working...
    X