eule
22-12-2007, 21:23
Guten Abend
Ich habe hier ein Problem. Ich habe 2 JPanels die ich in ein BorderLayout haben will. Bzw. die beiden sollen halt eine definierte Größe haben und der Rest soll sich der Fenstergröße anpasen:
import javax.swing.*;
import java.awt.*;
public class Gui_ControlPanel extends JPanel {
private JButton startButton = new JButton("Start");
private JButton stopButton = new JButton("Stop");
private JLabel timeLabel = new JLabel("1");
private JLabel timeShowLabel = new JLabel("2");
private JLabel titleLabel = new JLabel("3");
private JLabel titleShowLabel = new JLabel("4");
public Gui_ControlPanel() {
super();
BorderLayout layout = new BorderLayout();
setLayout(layout);
add(new packLeft(),BorderLayout.WEST);
add(new packRight(),BorderLayout.EAST);
setBorder(BorderFactory.createTitledBorder("test"));
}
public class packLeft extends JLabel {
public packLeft() {
BoxLayout layout2 = new BoxLayout(this,BoxLayout.Y_AXIS);
setLayout(layout2);
add(startButton);
add(timeLabel);
add(titleLabel);
}
}
public class packRight extends JLabel {
public packRight() {
BoxLayout layout3 = new BoxLayout(this,BoxLayout.Y_AXIS);
setLayout(layout3);
add(stopButton);
add(timeShowLabel);
add(titleShowLabel);
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new Gui_ControlPanel();
frame.add(panel);
frame.setVisible(true);
}
}
Wenn ich das ausführe bekomme ich nur den Rahmen mit test angezeigt. Aber die Buttons und Labels soll mir auch angezeigt werden. Wie kann ich das machen? Denn in der Mitte (BorderLayout.CENTER) soll eine Tabelle hin. Egal mit welchem Layout ich das probiere quetscht er mir die beiden packLeft und packRight immer auf größe Null.
Hat wer verstanden was ich will? Und hat auch wer eine Ahnung wie ich das machen kann?
danke schon mal
Ich habe hier ein Problem. Ich habe 2 JPanels die ich in ein BorderLayout haben will. Bzw. die beiden sollen halt eine definierte Größe haben und der Rest soll sich der Fenstergröße anpasen:
import javax.swing.*;
import java.awt.*;
public class Gui_ControlPanel extends JPanel {
private JButton startButton = new JButton("Start");
private JButton stopButton = new JButton("Stop");
private JLabel timeLabel = new JLabel("1");
private JLabel timeShowLabel = new JLabel("2");
private JLabel titleLabel = new JLabel("3");
private JLabel titleShowLabel = new JLabel("4");
public Gui_ControlPanel() {
super();
BorderLayout layout = new BorderLayout();
setLayout(layout);
add(new packLeft(),BorderLayout.WEST);
add(new packRight(),BorderLayout.EAST);
setBorder(BorderFactory.createTitledBorder("test"));
}
public class packLeft extends JLabel {
public packLeft() {
BoxLayout layout2 = new BoxLayout(this,BoxLayout.Y_AXIS);
setLayout(layout2);
add(startButton);
add(timeLabel);
add(titleLabel);
}
}
public class packRight extends JLabel {
public packRight() {
BoxLayout layout3 = new BoxLayout(this,BoxLayout.Y_AXIS);
setLayout(layout3);
add(stopButton);
add(timeShowLabel);
add(titleShowLabel);
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new Gui_ControlPanel();
frame.add(panel);
frame.setVisible(true);
}
}
Wenn ich das ausführe bekomme ich nur den Rahmen mit test angezeigt. Aber die Buttons und Labels soll mir auch angezeigt werden. Wie kann ich das machen? Denn in der Mitte (BorderLayout.CENTER) soll eine Tabelle hin. Egal mit welchem Layout ich das probiere quetscht er mir die beiden packLeft und packRight immer auf größe Null.
Hat wer verstanden was ich will? Und hat auch wer eine Ahnung wie ich das machen kann?
danke schon mal