Hallo zusammen. Ich bin ein kompletter Einsteiger in Java und bräuchte mal etwas Hilfe, auch wenn ich mir ziemlich doof vorkomme, aber was solls 
Bin dabei eine Stundenplan Applikation zu programmieren. Bisher kam ich mit Google ganz zurecht, nun stecke ich allerdings fest. :shock:
Den RowHeader für die Zeiten konnte ich einfügen und anpassen, allerdings funktioniert nun der Header der JTable nicht, ich gehe davon aus, weil ich da das DefaultTableModel verwende... weiss allerdings nicht was ich sonst, TableModel selber klappt irgendwie nicht.
Nun sind die Spalten ja zum reinschreiben. Genial wäre es auch, wenn man für jedes Feld eine Drop Down Liste hätte, wo man die Fächer direkt aussuchen könnte.
Zum Schluss würde ich das Ganze gerne per Button in Excel exportieren können. ???:L
Hat vielleicht jemand eine Idee, wie ich weiter machen kann, denn momentan sehe ich nur noch Code, habe zwar die ganzen Ziele definiert, aber komme wirklich nicht mehr weiter und die Tipps die ich finde, funktionieren in Kombination mit dem was ich bisher gemacht habe nicht so wirklich. :rtfm:
Für jede Antwort danke ich schon mal....
Hier noch mein bisheriger Code :bahnhof:
Bin dabei eine Stundenplan Applikation zu programmieren. Bisher kam ich mit Google ganz zurecht, nun stecke ich allerdings fest. :shock:
Den RowHeader für die Zeiten konnte ich einfügen und anpassen, allerdings funktioniert nun der Header der JTable nicht, ich gehe davon aus, weil ich da das DefaultTableModel verwende... weiss allerdings nicht was ich sonst, TableModel selber klappt irgendwie nicht.
Nun sind die Spalten ja zum reinschreiben. Genial wäre es auch, wenn man für jedes Feld eine Drop Down Liste hätte, wo man die Fächer direkt aussuchen könnte.
Zum Schluss würde ich das Ganze gerne per Button in Excel exportieren können. ???:L
Hat vielleicht jemand eine Idee, wie ich weiter machen kann, denn momentan sehe ich nur noch Code, habe zwar die ganzen Ziele definiert, aber komme wirklich nicht mehr weiter und die Tipps die ich finde, funktionieren in Kombination mit dem was ich bisher gemacht habe nicht so wirklich. :rtfm:
Für jede Antwort danke ich schon mal....
Hier noch mein bisheriger Code :bahnhof:
Java:
public class zeit extends JFrame {
public zeit(){
super("Stundenplan 2015");
setSize(new Dimension(900,575));
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new BorderLayout());
JLabel label = new JLabel("Whatever");
add(label, BorderLayout.SOUTH);
ListModel lm = new RowHeaderListModel();
DefaultTableModel dtm = new DefaultTableModel(lm.getSize(), 5);
JTable table = new JTable(dtm);
table.setRowHeight(50);
table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
JList rowHeader = new JList(lm);
rowHeader.setFixedCellWidth(150);
rowHeader.setFixedCellHeight(50);
rowHeader.setCellRenderer(new RowHeaderRenderer(table));
JScrollPane scroll = new JScrollPane(table);
scroll.setRowHeaderView(rowHeader);
getContentPane().add(scroll, BorderLayout.CENTER);
}
public static void main(String[] args){
zeit frame = new zeit();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Java:
public class RowHeaderListModel extends AbstractListModel { String strRowHeaders[] = {"Zeit", "07:25 - 08:10", "08:15 - 09:00", "09:05 - 09:50", "10:10 - 10:55", "11:00 - 11:45", "13:00 - 13:45", "13:50 - 14:35", "14:55 - 15:40", "15:45 - 16:30"};
public int getSize(){
return strRowHeaders.length;
}
public Object getElementAt(int index){
return strRowHeaders[index];
}
}
Java:
public class RowHeaderRenderer extends JLabel implements ListCellRenderer {
RowHeaderRenderer(JTable table){
JTableHeader tableHeader = table.getTableHeader();
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
setHorizontalAlignment(CENTER);
setForeground(tableHeader.getForeground());
setOpaque(true);
setFont(tableHeader.getFont());
}
public Component getListCellRendererComponent(JList list, Object value, int index,
boolean fSelected, boolean fCellHasFocus){
setText((value == null) ? "" : value.toString());
return this;
}
}
Zuletzt bearbeitet: