Tabelle, Größe der Komponenten

bronkowitz

Aktives Mitglied
Hallo,

kleines, aber nerviges Problem: Ich das Button-Panel wird immer so groß wie das für die Tabelle (also viel zu groß). Weiß jemand wie man das trennt?

Gruß,
bronkowitz

Java:
package test;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JToolBar;
import javax.swing.WindowConstants;
import javax.swing.table.AbstractTableModel;

public class Main {

    private static Hauptfenster hauptfenster;

    public static void main(String[] args) {
        hauptfenster = new Hauptfenster();
        hauptfenster.pack();
        hauptfenster.setVisible(true);
        hauptfenster.setExtendedState(Frame.MAXIMIZED_BOTH);
    }

    public static Hauptfenster getHauptfenster(){
        return hauptfenster;
    }

}

class Hauptfenster extends JFrame {

    private Zeichenflaeche zeichenflaeche;
    private JToolBar toolbar;
    private JButton buttonTabelle;    

    public Hauptfenster(){
        super();
        this.setTitle("Test");

        zeichenflaeche = new Zeichenflaeche();
        add(zeichenflaeche);
        zeichenflaeche.setBackground(Color.WHITE);                

        // Toolbar
        toolbar = new JToolBar();
        this.add(toolbar,BorderLayout.NORTH);

        // Button Tabelle
        buttonTabelle = new JButton("Tabelle");        
        buttonTabelle.setActionCommand("Tabelle");                
        toolbar.add(buttonTabelle);        
        buttonTabelle.addActionListener(new ButtonAktion());

        this.pack();
        validate();
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        }

    private class ButtonAktion implements ActionListener{
        public void actionPerformed(ActionEvent e){
            String command = e.getActionCommand();
            if (command.equals(buttonTabelle.getActionCommand()))
            {
                Tabelle.createAndShowGUI();
            }

        }
    }

}

class Tabelle extends JPanel {
    private boolean DEBUG = false;
    private JTable table;
    private JButton buttonSchliessen;

    public Tabelle() {        
        super(new GridLayout(2,1));

        // Tabelle
        table = new JTable(new MyTableModel());
        table.setPreferredScrollableViewportSize(new Dimension(350, 80));
        table.setFillsViewportHeight(true);
        JScrollPane scrollPane = new JScrollPane(table);
        scrollPane.setPreferredSize(new Dimension(350, 100));
        add(scrollPane, BorderLayout.CENTER);

        // Button Schliessen
        JPanel buttonPanel = new JPanel();
        buttonPanel.setPreferredSize(new Dimension(50, 10));
        buttonSchliessen = new JButton("Uebernehmen");
        buttonSchliessen.setActionCommand("Uebernehmen");
        buttonSchliessen.addActionListener(new ButtonAktion());
        buttonPanel.add(buttonSchliessen);
        add(buttonPanel, BorderLayout.SOUTH);

    }

    private class ButtonAktion implements ActionListener{
        public void actionPerformed(ActionEvent e){
            String command = e.getActionCommand();

            // Button Schliessen
            if (command.equals(buttonSchliessen.getActionCommand()))
            {
                // ????
            }
        }
    }

    private class MyTableModel extends AbstractTableModel {
        private String[] columnNames = {"Name", "Wert"};
        private Object[][] data = {
            {"Wert 1", new Double(1.0)},
            {"Wert 2", new Double(2.0)},
	    {"Wert 3", new Double(3.0)},
	    {"Wert 4", new Double(4.0)},
	    {"Wert 5", new Double(5.0)}
        };

        public int getColumnCount() {
            return columnNames.length;
        }

        public int getRowCount() {
            return data.length;
        }

        @Override
        public String getColumnName(int col) {
            return columnNames[col];
        }

        public Object getValueAt(int row, int col) {
            return data[row][col];
        }

        @Override
        public Class getColumnClass(int c) {
            return getValueAt(0, c).getClass();
        }

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

        @Override
        public void setValueAt(Object value, int row, int col) {
            if (DEBUG) {
                System.out.println("Setting value at " + row + "," + col
                                   + " to " + value
                                   + " (an instance of "
                                   + value.getClass() + ")");
            }

            data[row][col] = value;
            fireTableCellUpdated(row, col);

            if (DEBUG) {
                System.out.println("New value of data:");
                printDebugData();
            }
        }

        private void printDebugData() {
            int numRows = getRowCount();
            int numCols = getColumnCount();

            for (int i=0; i < numRows; i++) {
                System.out.print("    row " + i + ":");
                for (int j=0; j < numCols; j++) {
                    System.out.print("  " + data[i][j]);
                }
                System.out.println();
            }
            System.out.println("--------------------------");
        }

    }

    public void schliessen(JTable table){
        }

    public static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("Eingabedaten");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

        //Create and set up the content pane.
        Tabelle newContentPane = new Tabelle();
        newContentPane.setOpaque(true); //content panes must be opaque
        frame.setContentPane(newContentPane);

        //Display the window.
        double w = 0.25 * Main.getHauptfenster().getWidth();
        double h = 0.25 * Main.getHauptfenster().getHeight();
        frame.setLocation((int)w,(int)h);
        frame.pack();
        frame.setVisible(true);

    }

}

class Zeichenflaeche extends JPanel {

    public Zeichenflaeche(){
        super();
    }

    @Override
    public void paintComponent(Graphics g){
	super.paintComponent(g);
	Graphics2D g2 = (Graphics2D) g;
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
L Anpassung der Spaltenbreite auch auf eine zweite Tabelle anwenden Java Basics - Anfänger-Themen 8
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
J Tabelle Sortieren Java Basics - Anfänger-Themen 48
Sonas814 ASCII-Tabelle Java Basics - Anfänger-Themen 2
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
J Autovervollständigung in einer Tabelle Java Basics - Anfänger-Themen 40
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
crrnogorka Letzte Zeile einer Tabelle "überschreibt" alle anderen Zeilen Java Basics - Anfänger-Themen 1
F Tabelle - Berechnung Rang Java Basics - Anfänger-Themen 2
N Tabelle schön in der Konsole ausgeben Java Basics - Anfänger-Themen 5
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
D Tabelle in der Konsole Java Basics - Anfänger-Themen 3
H Meine Tabelle befüllen in .fxml Java Basics - Anfänger-Themen 16
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
O Max Gewinn einer Tabelle Java Basics - Anfänger-Themen 12
D Apache POI Tabelle wechseln Java Basics - Anfänger-Themen 2
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
krgewb ASCII-Tabelle Java Basics - Anfänger-Themen 12
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
V Operatoren Was will mir die Tabelle in meinem Lehrbuch sagen? (logische Operatoren) Java Basics - Anfänger-Themen 4
J Werte aus einer Tabelle übernehmen Java Basics - Anfänger-Themen 2
F Daten aus Excel-Tabelle in Java importieren Java Basics - Anfänger-Themen 15
W Befüllung einer Tabelle mit Checkbox, Trennung GUI und Model Java Basics - Anfänger-Themen 5
P ASCII-Tabelle Java Basics - Anfänger-Themen 5
T printf Daten aus der Tabelle in Excel übernehmen Java Basics - Anfänger-Themen 5
A Hash Tabelle Element suchen Java Basics - Anfänger-Themen 1
B Vererbung In offener Hash Tabelle einfügen Java Basics - Anfänger-Themen 4
M 1x1 Tabelle Abstände korrigieren Java Basics - Anfänger-Themen 2
P Wert aus Tabelle erhalten Java Basics - Anfänger-Themen 1
U Tabelle ändern und die Inhalte speichern Java Basics - Anfänger-Themen 9
I HTML Tabelle nur so lange erzeugen bis Höhe erreicht Java Basics - Anfänger-Themen 9
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
S Klassen Objekt- Tabelle / Dynamisches 2Dimensionales Array für Objekte Java Basics - Anfänger-Themen 6
H "Tabelle" Java Basics - Anfänger-Themen 4
B Tabelle mit Fremdschlüssel versehen Java Basics - Anfänger-Themen 0
M Primefaces tabelle bearbeiten Java Basics - Anfänger-Themen 4
M Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 10
M Erste Schritte Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 7
G JTable: Werte in Tabelle direkt ansprechen Java Basics - Anfänger-Themen 3
P Excel-Tabelle erstellen Java Basics - Anfänger-Themen 4
I Daten aus Arraylists in eine Tabelle übertragen Java Basics - Anfänger-Themen 2
B daten speichern in einer tabelle Java Basics - Anfänger-Themen 5
J Zuweisung/Tabelle Java Basics - Anfänger-Themen 6
M Werte aus Tabelle elegant zuordnen? Java Basics - Anfänger-Themen 2
D String aus txt in label für Tabelle einfügen Java Basics - Anfänger-Themen 8
S Abfragen wenn das ende einer Tabelle erreicht ist Java Basics - Anfänger-Themen 8
M Tabelle aktualisiert sich erst nach mausklick Java Basics - Anfänger-Themen 4
J Tabelle aus Website einlesen [nicht im Quellcode] Java Basics - Anfänger-Themen 6
J Tabelle aktuallisieren Java Basics - Anfänger-Themen 22
A Im Telefonbuch eine Tabelle ergänzen Java Basics - Anfänger-Themen 6
N Ergebnisse dynamisch in Tabelle schreiben Java Basics - Anfänger-Themen 3
F Werte aus Tabelle vergleichen/rechnen Java Basics - Anfänger-Themen 5
J Punkte hinzufügen Tabelle Java Basics - Anfänger-Themen 5
C CSV-Tabelle Java Basics - Anfänger-Themen 21
M nur 1 wert in tabelle Java Basics - Anfänger-Themen 3
M Kreuztabellenabfrage an Tabelle anfügen Java Basics - Anfänger-Themen 3
M Wert aus Tabelle lesen Java Basics - Anfänger-Themen 4
M Überschrift wird nicht angezeigt Tabelle Java Basics - Anfänger-Themen 2
O Tabelle Formatieren mit system.out.format Java Basics - Anfänger-Themen 11
M Tabelle mit Buttons Java Basics - Anfänger-Themen 24
M JSON Datensätze aus Website in Tabelle Java Basics - Anfänger-Themen 17
U Drag&Drop von Tabelle in Textfeld Java Basics - Anfänger-Themen 3
D Auf Objekt in Tabelle zugreifen Java Basics - Anfänger-Themen 4
D Eclipse und Visual Editor - erzeugen einer Tabelle Java Basics - Anfänger-Themen 8
Binary.Coder JTable bzw. Tabelle in bestimmte Form überführen Java Basics - Anfänger-Themen 5
D Inhalt der Spalten einer Tabelle addieren Java Basics - Anfänger-Themen 4
H JTable Überschrift der Tabelle wird nicht angezeigt Java Basics - Anfänger-Themen 5
F Aus Tabelle auslesen Java Basics - Anfänger-Themen 10
H ButtonGroup in Tabelle Java Basics - Anfänger-Themen 2
X Zeile in Tabelle kopieren und in andere einfügen Java Basics - Anfänger-Themen 6
X Arraylist in Tabelle Java Basics - Anfänger-Themen 18
M Tabelle mit immer sortiertem Inhalt Java Basics - Anfänger-Themen 5
R ASCII-Tabelle Java Basics - Anfänger-Themen 6
F Tabelle in anderer Klasse füllen Java Basics - Anfänger-Themen 9
Beckenbauer OOP Durch Komma getrennte Einträge in einem String in ein Array oder eine Tabelle schreiben Java Basics - Anfänger-Themen 4
M 2D-Array als Tabelle ausgeben ? Java Basics - Anfänger-Themen 6
M Konsole: Tabelle Ausgeben Java Basics - Anfänger-Themen 5
M Sortierte Tabelle in Datei schreiben Java Basics - Anfänger-Themen 5
A Leere Fläche einer Tabelle umfärben Java Basics - Anfänger-Themen 3
J Tabelle in Fenster anzeigen Java Basics - Anfänger-Themen 12
Z Array mit daten einer datenbankbefüllen und dies an eine tabelle geben Java Basics - Anfänger-Themen 6
M Einfügen von Daten in eine Tabelle Java Basics - Anfänger-Themen 9
J Java Ein mal Eins Tabelle Java Basics - Anfänger-Themen 11
G POI: Zelle aus einer Tabelle kopieren und in einr anderen einfügen Java Basics - Anfänger-Themen 5
J Feld in Tabelle suchen Java Basics - Anfänger-Themen 8
babel Datenbank Daten direkt an die Tabelle übergeben ohne Arrays Java Basics - Anfänger-Themen 9
T Programm startet nicht wg. Tabelle? Java Basics - Anfänger-Themen 19
R Moechte Tabelle ausschreiben auf der Konsole Java Basics - Anfänger-Themen 2
S Daten aus Tabelle auslesen Java Basics - Anfänger-Themen 5
J Datei auslesen und in Tabelle einfügen Java Basics - Anfänger-Themen 6
E Boolean wert innerhalb einer Tabelle ändern Java Basics - Anfänger-Themen 4
B zahlen verschieben tabelle Java Basics - Anfänger-Themen 2
P Zeilnumbruch vermeiden bei einer Tabelle *hilfe* Java Basics - Anfänger-Themen 11
M Daten in Tabelle setzen. Java Basics - Anfänger-Themen 6
C Tabelle sortieren (evtl. setComparator) Java Basics - Anfänger-Themen 2
T ASCII Tabelle darstellen Java Basics - Anfänger-Themen 7
G Tabelle änderungen Java Basics - Anfänger-Themen 48
S Dynamische Tabelle Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben