HI!
Ich versuche gerade Benutzeroberflaechen zu erstellen, stehe aber komplett am Anfang. Zumindest habe ich es schonmal geschafft eine TextArea eine Scroll-Leiste zu verpassen. In meinem aktuellen Beispiel verwende ich ein BoxLayout (Ich moechte erstmal jedes Element in einer Zeile haben, die unterschiedlich Hoch sein kann - Da sollte das Layout das beste sein, da ich bei allen anderen scheinbar eine immer gleiche groesse habe, oder nur 3 Componenten uebereinander schreiben kann siehe sun tutorial)
Bei dem vorliegenden Quelltext stoert mich folgendes:
Wenn ich das Fenster vergroessere Wird das JTextField vergroessert, die beiden Textareas bleiben aber gleich gross. (Wenn ich keine Groesse fue die TextAreas angebe, dann sehe uch nur den Scrollbalken, aber nicht den Text). Wenn ich jetzt das Fenster Groesser ziehe, wird nur das JTextField groesser, aber nicht die beiden TextAreas. Ich moechte nun, dass das JTextField minimal einzeilig hoch bleibt, und dass die Hoehe, die durch das Vergroessern des Fensters dazukommt, sich auf die beiden Textareas verteilt
Ausserdem verschiebt sich das JLabel nach rachts, wenn das Fenster Breiter wird. Ich moechte nun, dass dass Label immer Links bleibt und zwar komplett.
Ich habe einen ganzen Tag investiert um rauszufinden, wie das Funktioniert, aber bin Komplett gescheitert. Ich habe diverse Layout Manager probiert, aber versucht die Groessen absolut zu setzen, habe versucht in einem Dimension-Objekt die Aktuelle Frame-Groesse zu verwenden, Glue-Boxes erstellt ,... Es hat nichts geklappt.
Es muesste doch sowas geben wie MINIMAL_HEIGHT fuer das JTextField,...
Ich hoffe mir kann jemand mit dem Problem helfen. Oder zumindest sagen, wenn das nicht moeglich ist.
Danke schonmal
Ich versuche gerade Benutzeroberflaechen zu erstellen, stehe aber komplett am Anfang. Zumindest habe ich es schonmal geschafft eine TextArea eine Scroll-Leiste zu verpassen. In meinem aktuellen Beispiel verwende ich ein BoxLayout (Ich moechte erstmal jedes Element in einer Zeile haben, die unterschiedlich Hoch sein kann - Da sollte das Layout das beste sein, da ich bei allen anderen scheinbar eine immer gleiche groesse habe, oder nur 3 Componenten uebereinander schreiben kann siehe sun tutorial)
Java:
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class BoxLayoutSample {
public static void main(String args[]) {
JFrame rahmen = new JFrame("Fenstertitel");
rahmen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Box verticalBox1 = Box.createVerticalBox();
JTextField textField1 = new JTextField("soll gleich hoch bleiben");
JTextArea textArea2 = new JTextArea("soll vergroessert werden und eine bestimmte anfangshoehe haben (+Scrollbalken?)");
JScrollPane scroll2 = new JScrollPane(textArea2);
scroll2.setPreferredSize(new Dimension(100, 100));
JTextArea textArea1 = new JTextArea("soll auch vergroessert werden und eine bestimmte anfangshoehe haben (+Scrollbalken?)");
JScrollPane scroll1 = new JScrollPane(textArea1);
scroll1.setPreferredSize(new Dimension(100, 100));
verticalBox1.add(new JLabel("Ueberschrift"));
verticalBox1.add(textField1);
verticalBox1.add(Box.createVerticalStrut(10));
verticalBox1.add(scroll1);
verticalBox1.add(Box.createVerticalStrut(10));
verticalBox1.add(scroll2);
verticalBox1.add(Box.createVerticalStrut(10));
rahmen.getContentPane().add(verticalBox1, BorderLayout.CENTER);
rahmen.setSize(450, 250);
rahmen.setVisible(true);
}
}
Bei dem vorliegenden Quelltext stoert mich folgendes:
Wenn ich das Fenster vergroessere Wird das JTextField vergroessert, die beiden Textareas bleiben aber gleich gross. (Wenn ich keine Groesse fue die TextAreas angebe, dann sehe uch nur den Scrollbalken, aber nicht den Text). Wenn ich jetzt das Fenster Groesser ziehe, wird nur das JTextField groesser, aber nicht die beiden TextAreas. Ich moechte nun, dass das JTextField minimal einzeilig hoch bleibt, und dass die Hoehe, die durch das Vergroessern des Fensters dazukommt, sich auf die beiden Textareas verteilt
Ausserdem verschiebt sich das JLabel nach rachts, wenn das Fenster Breiter wird. Ich moechte nun, dass dass Label immer Links bleibt und zwar komplett.
Ich habe einen ganzen Tag investiert um rauszufinden, wie das Funktioniert, aber bin Komplett gescheitert. Ich habe diverse Layout Manager probiert, aber versucht die Groessen absolut zu setzen, habe versucht in einem Dimension-Objekt die Aktuelle Frame-Groesse zu verwenden, Glue-Boxes erstellt ,... Es hat nichts geklappt.
Es muesste doch sowas geben wie MINIMAL_HEIGHT fuer das JTextField,...
Ich hoffe mir kann jemand mit dem Problem helfen. Oder zumindest sagen, wenn das nicht moeglich ist.
Danke schonmal