GUI anordnung

abcman

Mitglied
Hallo allerseits,

Ich möchte das zwei Tabellen neben/untereinander dargestellt werden und unten dran 2 buttons sowie ein Texteingabebereich um die Logs auszugeben aber habe Probleme mit dem Layout (BorderLayout/GridLayout), zudem lässt sich die Höhe der Tabelle nicht verändern.

so sieht es zur Zeit aus:

attachment.php


[JAVA]import javax.swing.*;[/code]
[JAVA]


import java.awt.*;
public class MyFrameButtons extends JFrame {

public MyFrameButtons(){
setLayout( new FlowLayout() );

JButton[] b = new JButton[2];
b[0] = new JButton("OK");
b[1] = new JButton("Abbrechen");

add( b[0] );
add( b[1] );


String[] columnNames = {"A", "B", "C"};
Object[][] data = {
{"Moni", "adsad", 2},
{"Jhon", "ewrewr", 4},
{"Max", "zxczxc", 6}
};


JTable table = new JTable(data, columnNames);
JScrollPane tableSP = new JScrollPane(table);


int A = this.getWidth();
int B = 100;


table.setSize(A, B);
JPanel tablePanel = new JPanel(new GridLayout());
tablePanel.add(tableSP);
tablePanel.setBackground(Color.red);


add(tablePanel);


//add( new JButton("Aktion1"));
//add( new JButton("Aktion2"));
}

public static void main( String[] args ) {
MyFrameButtons fenster = new MyFrameButtons();

fenster.setTitle("Fenster mit Buttons");
fenster.setSize( 300, 150 );
fenster.setLocation(200, 200);
fenster.setVisible( true );
fenster.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}[/code]






Gewünscht wäre eine freie Anordnung, der Elemente. und wenn möglich eine fixe Fenstergrösse, dass nicht alles verzogen werden kann.
attachment.php

Bei anderen Programmiersprachen kann man einfach top und height werte eingeben.

Gibt’s da auch eine einfache Lösung?
 

Anhänge

  • aktuell-gui.jpg
    aktuell-gui.jpg
    21,4 KB · Aufrufe: 93
  • wunsch.jpg
    wunsch.jpg
    44,3 KB · Aufrufe: 72

strußi

Top Contributor
Mittels GridBagLayout könntest du die Tabellen erst auf eigene Panels packen und diese dann im grid übergeben

übergabe ans gbl
Java:
private void init(){
        gbc.insets =new Insets(5, 5, 2, 5);
//                x , y, width, größen(%)         gbc.fill,                          gbc, Panel, Object
//                         height  anpassung,
        addComponent( 0, 0, 1, 1, 0.0d, 0.0d, GridBagConstraints.EAST, gbc, panel, panelVeranstaltungen); //oben links
        addComponent( 1, 0, 1, 1, 0.0d, 0.0d, GridBagConstraints.EAST, gbc, panel, panelRaeume); //oben rechts
        addComponent( 0, 1, 1, 1, 0.0d, 0.0d, GridBagConstraints.EAST, gbc, panel, ButtonPanel); //unten links
        addComponent( 1, 1, 1, 1, 0.0d, 0.0d, GridBagConstraints.EAST, gbc, panel, panelRaumBelegung);
    }
    
    /**
     * Interne Methode zum hinzufügen der einzeln Componenten auf das Panel
     * 
     * @param gridx Colum
     * @param gridy Row
     * @param width count of Colums
     * @param height count of Rows
     * @param weightx percent of the colum for the Component
     * @param weighty percent of the row for the Component
     * @param fill fill orientation
     * @param gbc GridBagConstraints
     * @param pnl
     * @param c Component to add
     */
    private void addComponent( int gridx, int gridy, int width, int height, double weightx, double weighty, int fill,
                               GridBagConstraints gbc, JPanel pnl, Component c){
        gbc.gridx      =gridx;    gbc.gridy     =gridy;
        gbc.weightx    =weightx;  gbc.weighty   =weighty;
        gbc.gridheight =height;   gbc.gridwidth =width;
        gbc.fill =fill;
        pnl.add( c, gbc);
    }
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben