Zum Inhalt springen

Sebi123

Mitglieder
  • Gesamte Inhalte

    5
  • Benutzer seit

  • Letzter Besuch

  1. Sebi123

    Datenbefüllung JTable

    Hi! Das mit dem Kalender hat super funktioniert. Ich werde meine nächsten Fragen vorerst hier reinposten, auch wenn es gerade nicht mehr viel mit "Befüllung JTable" zu tun hat. Ich habe ein (Main-)Frame, in dem Buttons aufgeführt sind, z.B. "CheckIn", "CheckOut", "Gast anlegen" und so Zeugs. Das stellt die Anwendungsoberfläche dar. Wenn einer der Buttons angeklickt wird, soll ein anderes Frame aufgerufen werden. Dieses andere, fertige Frame enthält bereits Buttons, Textfelder usw. Nun suche ich nach einer Methode, wie ich dieses andere Frame aufrufe, wenn ein Button in der Anwendungsoberfläche angeklickt wird. Funktioniert das überhaupt so?
  2. Sebi123

    Datenbefüllung JTable

    DANKE! Hat funktioniert. Nächste Frage: jahresauswahl.setValue(2010); ...wird als "2.010" ausgegeben. Wie kriege ich den Punkt weg? Das soll eine ganze Jahreszahl werden, wie man sich denken kann .
  3. Sebi123

    Datenbefüllung JTable

    Danke für die bisherigen Antworten. Wie im Eröffnungspost erwähnt, muss ich einen Zimmerbelegungsplan, als Teil eines Hotelbuchnungssystems, erstellen. Dieser beinhaltet einen Kalender. Zum Layout: oben soll ein Datum (Monat, Jahr) ausgewählt werden können, in der Mitte sollen die dazugehörigen Tage (1-31) angezeigt werden. Buchbare Tage werden später farblich dargestellt. Die ComboBox mit der Datumsauswahl kriege ich hin, aber der Kalender in der Mitte... das will nicht funktionieren. Ich bin mal so frei und poste den gesamten Code, den ich bisher habe: import javax.swing.*; import java.awt.*; import java.awt.BorderLayout; import java.awt.Point; import java.util.Hashtable; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableModel; public class ZimmerbelegungAnzeigenTest { public static void main( String[] args ){ JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel paneltabelle = new JPanel(); JPanel panelauswahl = new JPanel(); JPanel panellegende = new JPanel(); paneltabelle.setBackground(Color.GREEN); panelauswahl.setBackground(Color.PINK); panellegende.setBackground(Color.YELLOW); //Panels erstellen, Farbe ändern String headers[] = { "Zimmernummer", "Zimmerkategorie", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" }; TableModel model = new MyTableModel(0, headers); JTable table = new JTable(model); table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF ); table.getColumn( "Zimmernummer" ).setPreferredWidth( 100 ); table.getColumn( "Zimmerkategorie" ).setPreferredWidth( 100 ); table.getColumn( "1" ).setPreferredWidth( 30 ); table.getColumn( "2" ).setPreferredWidth( 30 ); table.getColumn( "3" ).setPreferredWidth( 30 ); table.getColumn( "4" ).setPreferredWidth( 30 ); table.getColumn( "5" ).setPreferredWidth( 30 ); table.getColumn( "6" ).setPreferredWidth( 30 ); table.getColumn( "7" ).setPreferredWidth( 30 ); table.getColumn( "8" ).setPreferredWidth( 30 ); table.getColumn( "9" ).setPreferredWidth( 30 ); table.getColumn( "10" ).setPreferredWidth( 30 ); table.getColumn( "11" ).setPreferredWidth( 30 ); table.getColumn( "12" ).setPreferredWidth( 30 ); table.getColumn( "13" ).setPreferredWidth( 30 ); table.getColumn( "14" ).setPreferredWidth( 30 ); table.getColumn( "15" ).setPreferredWidth( 30 ); table.getColumn( "16" ).setPreferredWidth( 30 ); table.getColumn( "17" ).setPreferredWidth( 30 ); table.getColumn( "18" ).setPreferredWidth( 30 ); table.getColumn( "19" ).setPreferredWidth( 30 ); table.getColumn( "20" ).setPreferredWidth( 30 ); table.getColumn( "21" ).setPreferredWidth( 30 ); table.getColumn( "22" ).setPreferredWidth( 30 ); table.getColumn( "23" ).setPreferredWidth( 30 ); table.getColumn( "24" ).setPreferredWidth( 30 ); table.getColumn( "25" ).setPreferredWidth( 30 ); table.getColumn( "26" ).setPreferredWidth( 30 ); table.getColumn( "27" ).setPreferredWidth( 30 ); table.getColumn( "28" ).setPreferredWidth( 30 ); table.getColumn( "29" ).setPreferredWidth( 30 ); table.getColumn( "30" ).setPreferredWidth( 30 ); table.getColumn( "31" ).setPreferredWidth( 30 ); //JScrollPane scrollPane = new JScrollPane(table); //frame.getContentPane().add(scrollPane, BorderLayout.CENTER); //frame.setSize(1150, 300); //frame.setVisible(true); String januar = new String ("Januar"); String februar = new String ("Februar"); String maerz = new String ("März"); String april = new String ("April"); String mai = new String ("Mai"); String juni = new String ("Juni"); String juli = new String ("Juli"); String august = new String ("August"); String september = new String ("September"); String oktober = new String ("Oktober"); String november = new String ("November"); String dezember = new String ("Dezember"); JLabel monatslabel = new JLabel("Monat auswählen:"); JComboBox monatsauswahl = new JComboBox(); monatsauswahl.addItem(januar); monatsauswahl.addItem(februar); monatsauswahl.addItem(maerz); monatsauswahl.addItem(april); monatsauswahl.addItem(mai); monatsauswahl.addItem(juni); monatsauswahl.addItem(juli); monatsauswahl.addItem(august); monatsauswahl.addItem(september); monatsauswahl.addItem(oktober); monatsauswahl.addItem(november); monatsauswahl.addItem(dezember); JLabel jahreslabel = new JLabel("Jahr auswählen:"); JSpinner jahresauswahl = new JSpinner(); jahresauswahl.setValue(2010); JButton uebernehmen = new JButton("Übernehmen"); JLabel legende = new JLabel("Legende:"); //paneltabelle.setLayout(new GridLayout(100,100)); //panelauswahl.setLayout(new GridLayout(100,100)); //Panels konfigurieren, Layoutmanager wählen panelauswahl.add(monatslabel); panelauswahl.add(monatsauswahl); panelauswahl.add(jahreslabel); panelauswahl.add(jahresauswahl); panelauswahl.add(uebernehmen); //hinzufügen der Elemente zum oberen Panel //paneltabelle.add(); paneltabelle.add(table); //hinzufügen der Elemente zum mittleren Panel panellegende.add(legende); frame.getContentPane().add(BorderLayout.NORTH, panelauswahl); frame.getContentPane().add(BorderLayout.CENTER, paneltabelle); frame.getContentPane().add(BorderLayout.SOUTH, panellegende); frame.setSize(800, 600); frame.setVisible(true); } } class MyTableModel extends AbstractTableModel { private Hashtable lookup; private final int rows; private final int columns; private final String headers[]; public MyTableModel(int rows, String columnHeaders[]) { if ((rows < 0) || (columnHeaders == null)) { throw new IllegalArgumentException( "Invalid row count/columnHeaders"); } this.rows = rows; this.columns = columnHeaders.length; headers = columnHeaders; lookup = new Hashtable(); } public int getColumnCount() { return columns; } public int getRowCount() { return rows; } public String getColumnName(int column) { return headers[column]; } public Object getValueAt(int row, int column) { return lookup.get(new Point(row, column)); } public void setValueAt(Object value, int row, int column) { if ((rows < 0) || (columns < 0)) { throw new IllegalArgumentException("Invalid row/column setting"); } if ((row < rows) && (column < columns)) { lookup.put(new Point(row, column), value); }}} Das letzte Fragment: MyTableModel... der Code ist nicht von mir und ich verstehe ihn auch nicht so recht. Das Problem ist vorerst, dass mein Center-Panel leer bleibt. Da sollte aber die Tabelle mit den Spalten der Kalendertage 1-31 (von links nach rechts) dargestellt werden. Kann mir jemand weiterhelfen? Dass ich sowas wie ein Java-Anfänger bin, versteht sich von selbst . Vielen Dank an alle Helfer!
  4. Sebi123

    Datenbefüllung JTable

    Hallo, vielen Dank für die schnelle Antwort. Die Zeilenerweiterung ( model.setRowCount(+1); ) brauchen wir dann in der Klasse "Zimmer anlegen", aber im Zimmerbelegungsplan sollen ja dann nur die Daten aufgerufen werden, und diese Daten können eben x Zeilen haben. Wie kann ich dann die Tabelle so gestalten, dass sie sich der Anzahl an Datensätzen anpasst? Vielen Dank im Voraus. Grüße, Sebi
  5. Hallo, ich hoffe ihr könnt mir helfen. Bin gerade dabei eine Tabelle (JTable) zu erstellen. Am Ende soll das ganze einen Zimmerbelegungsplan ergeben, der in der Spaltenbeschriftung die 31 Tage anzeigt und in der Zeilenbeschriftung die Zimmernummern. Momentan habe ich eine Matrix, nun möchte ich aber eine feste Spaltenanzahl, aber eine variable Zeilenanzahl (um später Zimmer hinzufügen zu können) anlegen. Was kann ich dazu nutzen? Schon mal vielen Dank im Voraus. Sebi

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...