Layout einer Eingabeform

  • Themenstarter Layoutmanagerverzweifler
  • Beginndatum
Status
Nicht offen für weitere Antworten.
L

Layoutmanagerverzweifler

Gast
Hi ich möchte mir ein kleines prog. zum zeichnen von Funktionen schreiben. Leider bekomm ich die Benutzerschnittstelle nicht so hin wie ich das möchte.
Ich habe mich schon durch verschiedne Layoutmanager gekämpft, kenne diese und habe sie in diversen Beispielen auch angewendet.
Doch bisher konnte ich die wenigsten wirklich anwenden.

Mein GUI soll zunächst so aussehen:

aaa.gif

Bild

wäre einer bitte so freundlich dieses kleine und (ich denk mal) simple Beispiel als code bereit zustellen, damit ich sehen kann, wie ein solches Layout erzeugt wird? Das wäre echt super !

Die GUI ist für ein JApplet also in SWING zu erstellen, sie wid noch erweitert, mir geht es nur um das grundlegende.
Die JLabels und JTextField sollen natürlich auf gleicher höhe liegen und der JButton("Zeichne") soll sich über die komplette breite der JLabels und JTextFields erstrecken, der vertikale Abstand soll ebenfalls einheitlich sein.

Ich danke schonmal im voraus für die hilfe
 
L

Layoutmanagerverzweifler

Gast
jetzt weiss ich wieso das IMG tag nicht funktionierte, man sollte die ganz URL angeben
also das is nun das bild

aaa.gif


[/img]
 
B

Beni

Gast
Hier ein Beispiel mit dem GridBagLayout. Wie das Layout funktioniert, liest du um besten in der API nach, oder guckst kurz bei google (als Einstieg: das GBL arbeitet ähnlich wie die HTML-Table. Ein Gitter und die Komponenten können sich über mehrere Zellen erstrecken (die ersten vier Argumente des GridBagConstraints). Ansonsten gibt es noch ein paar Parameter welche die Ausdehnung und Position der Komponenten beschreiben.)
Code:
package forum;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.*;

public class Test{
   public static void main( String[] args ){
      JPanel panel = new JPanel( new GridBagLayout());
      
      panel.add( new JLabel( "Feld 1" ), new GridBagConstraints( 0, 0, 1, 1, 0.0, 0.0, 
              GridBagConstraints.NORTHEAST, GridBagConstraints.NONE,
              new Insets( 2, 2, 2, 2 ), 0, 0 ));
      panel.add( new JTextField(), new GridBagConstraints( 1, 0, 1, 1, 1.0, 0.0, 
              GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
              new Insets( 2, 2, 2, 2 ), 0, 0 ));
      
      panel.add( new JLabel( "Feld 2" ), new GridBagConstraints( 0, 1, 1, 1, 0.0, 0.0, 
              GridBagConstraints.NORTHEAST, GridBagConstraints.NONE,
              new Insets( 2, 2, 2, 2 ), 0, 0 ));
      panel.add( new JTextField(), new GridBagConstraints( 1, 1, 1, 1, 1.0, 0.0, 
              GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
              new Insets( 2, 2, 2, 2 ), 0, 0 ));
      
      panel.add( new JLabel( "Feld 2" ), new GridBagConstraints( 0, 2, 1, 1, 0.0, 0.0, 
              GridBagConstraints.NORTHEAST, GridBagConstraints.NONE,
              new Insets( 2, 2, 2, 2 ), 0, 0 ));
      panel.add( new JTextField(), new GridBagConstraints( 1, 2, 1, 1, 1.0, 0.0, 
              GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
              new Insets( 2, 2, 2, 2 ), 0, 0 ));
      
      panel.add( new JButton( "Knopf" ), new GridBagConstraints( 0, 3, 2, 1, 1.0, 1.0,
              GridBagConstraints.SOUTH, GridBagConstraints.HORIZONTAL,
              new Insets( 2, 2, 2, 2 ), 0, 0 ));
      
      JFrame frame = new JFrame( "Demo" );
      frame.getContentPane().add( panel );
      frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
      frame.pack();
      frame.setVisible( true );
   }
}
 

André Uhres

Top Contributor
Code:
package forum;
/*
 * FlowLayoutTest.java
 */
import java.awt.*;
import javax.swing.*;
public class FlowLayoutTest extends JApplet {
    private JButton btZeichne;
    private JLabel lbFunk, lbWert, lbAbst;
    private JPanel mainPanel;
    private JTextField tfFunk, tfWert, tfAbst;
    public void init() {
        //FlowLayout respektiert die PreferredSize:
        mainPanel = new JPanel();
        lbFunk = new JLabel("Funktion von y =");
        tfFunk = new JTextField(10);
        lbWert = new JLabel("Wertebereich");
        tfWert = new JTextField(10);
        lbAbst = new JLabel("Abstufung");
        tfAbst = new JTextField(10);
        btZeichne = new JButton("Zeichne");
        getContentPane().setLayout(new FlowLayout());
        mainPanel.setPreferredSize(new Dimension(220, 200));
        lbFunk.setPreferredSize(new Dimension(90, 14));
        mainPanel.add(lbFunk);
        mainPanel.add(tfFunk);
        lbWert.setPreferredSize(new Dimension(90, 14));
        mainPanel.add(lbWert);
        mainPanel.add(tfWert);
        lbAbst.setPreferredSize(new Dimension(90, 14));
        mainPanel.add(lbAbst);
        mainPanel.add(tfAbst);
        btZeichne.setPreferredSize(new Dimension(210, 23));
        mainPanel.add(btZeichne);
        getContentPane().add(mainPanel);
    }
}
 
L

Layoutmanagerverzweifler

Gast
danke an euch beide, werde mit den code mal näher anschauen...

hab den code von André Uhres kurz durchgeschaut, scheint ja ganz einfach zu sein...
DANKE !
 
B

Beni

Gast
Zum Code von André (er hasst mich sicherlich schon :-D ): probier ihn mal auf einem System mit grosser Schriftart aus...
 

André Uhres

Top Contributor
@Beni: Wenn ich die Auflösung 800x600 statt 1024X768 wähle, ist mein Code immer noch OK.
Nebenbei bemerkt: bei der IDE "Eclipse" sind manche Texte dann schon abgehackt.
Andere Grössenänderungen weiss ich jetzt nicht wie du die herbeiführen kannst...
Wie auch immer: selbstverständlich führt eine grössere Schriftart bei gleichbleibender
Komponentengrösse zu Problemen. Das steht ja aber auch in meinem Code drin:
"FlowLayout respektiert die PreferredSize" :wink:
 

Campino

Top Contributor
Andre: Unter Windows: Start->Programme->Zubehör->Eingabehilfen->Hilfsprogramm-Manager, da kann man dann einfluss auf die Schriftgröße nehmen.
 
B

Beni

Gast
Hi André

André Uhres hat gesagt.:
...Das steht ja aber auch in meinem Code drin:
"FlowLayout respektiert die PreferredSize" :wink:

Ja, das ist auch richtig und kein Problem, aber dann steht im Code:
Code:
lbFunk.setPreferredSize(new Dimension(90, 14));
... und genau das gefällt mir nicht, du kannst ja nicht im vornherein wissen, dass die Schrift kleine genug ist, damit sie in 14 Pixel passt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
S Swing UI-Elemente ordnen sich ungewollt in einer Reihe (ohne Layout) AWT, Swing, JavaFX & SWT 5
B Methode setzt nicht das Layout in einer if-Abfrage AWT, Swing, JavaFX & SWT 13
G layout in einer anderen klasse AWT, Swing, JavaFX & SWT 4
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
S Layout - Problem AWT, Swing, JavaFX & SWT 1
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
IsSchoGuat LayoutManager Layout-Containergrösse AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
H Layout Idee AWT, Swing, JavaFX & SWT 8
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
F Layout-Problem AWT, Swing, JavaFX & SWT 2
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
D Bild in JPanel verschiebt Layout. Wie fixieren? AWT, Swing, JavaFX & SWT 9
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
ARadauer Wenig Material zum Thema: Design, Layout, Usability von Swing Anwendungen AWT, Swing, JavaFX & SWT 11
S LayoutManager Welcher LayoutManager für dieses zweispaltige Layout? AWT, Swing, JavaFX & SWT 13
G LayoutManager Layout welches von Links nach rechts anordnet mit TOP Alignment! AWT, Swing, JavaFX & SWT 5
A Best practice für konkretes Layout AWT, Swing, JavaFX & SWT 10
G LayoutManager Layout für Spalten AWT, Swing, JavaFX & SWT 8
A Layout/JPanelgröße AWT, Swing, JavaFX & SWT 6
S pack() bei null-Layout AWT, Swing, JavaFX & SWT 10
C SWT Tabellen-Layout in StyledText? AWT, Swing, JavaFX & SWT 6
J LayoutManager Welchen Layout/Design-Manager? AWT, Swing, JavaFX & SWT 4
R Swing Layout setzen AWT, Swing, JavaFX & SWT 3
L Layout automatische Anpassung umgehen? AWT, Swing, JavaFX & SWT 5
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
J Button Layout anpassen AWT, Swing, JavaFX & SWT 22
H LayoutManager Layout mit GridBagLayout machbar? AWT, Swing, JavaFX & SWT 6
B Buttongröße im Layout AWT, Swing, JavaFX & SWT 4
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
O LayoutManager Layout entwerfen AWT, Swing, JavaFX & SWT 3
A diverse Layout-Fragen AWT, Swing, JavaFX & SWT 4
F LayoutManager Eigenes Layout die Lösung?! AWT, Swing, JavaFX & SWT 4
dzim SWT Layout mit Sections aus Eclipse Forms AWT, Swing, JavaFX & SWT 17
F JScrollPane verwirft Layout von JPanel AWT, Swing, JavaFX & SWT 2
C LayoutManager Layout und vergrößern des Frames AWT, Swing, JavaFX & SWT 5
E Swing Runde Buttons / Position eines Obj. im Layout AWT, Swing, JavaFX & SWT 7
A Ungewollte Layout änderungen AWT, Swing, JavaFX & SWT 3
A Suche: Eclipse-GUI-Layout AWT, Swing, JavaFX & SWT 5
E JPanel mit Null Layout entfernt Buttons AWT, Swing, JavaFX & SWT 11
N Swing Layout positionieren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben