Ich will im Header eines Programms drei Textzeilen anzeigen, die sich über die gesamte verfügbare Fläche ausbreiten. Rechts daneben soll ein Logo platziert werden, dass auch erstmal so groß werden kann wie es will (das Bild ansich wird klein sein).
Probleme bei meinem bishrigen Code:
- die Zeilen breiten sich nicht aus: wie bringe ich sie dazu?
(- das Image ist nicht ganz recht, wobei ich da noch nicht sicher bin, ob mir die jetzte Lösung nicht doch zusagt)
Probleme bei meinem bishrigen Code:
- die Zeilen breiten sich nicht aus: wie bringe ich sie dazu?
(- das Image ist nicht ganz recht, wobei ich da noch nicht sicher bin, ob mir die jetzte Lösung nicht doch zusagt)
Java:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
public class LayoutDemo {
public static void main(String[] args) {
JFrame demo = new JFrame();
demo.setLayout(new BorderLayout());
demo.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel frame = new JPanel(new FlowLayout());
frame.setBorder(BorderFactory.createEtchedBorder());
JPanel maincontent = new JPanel(new GridLayout(0, 1));
maincontent.setBorder(BorderFactory.createEtchedBorder());
JLabel row1 = new JLabel("Row 1");
row1.setBorder(BorderFactory.createEtchedBorder());
maincontent.add(row1);
JLabel row2 = new JLabel("Row 2");
row2.setBorder(BorderFactory.createEtchedBorder());
maincontent.add(row2);
JLabel row3 = new JLabel("Row 3");
row3.setBorder(BorderFactory.createEtchedBorder());
maincontent.add(row3);
frame.add(maincontent);
JLabel image = new JLabel("Logo");
image.setBorder(BorderFactory.createEtchedBorder());
frame.add(image);
demo.add(frame, BorderLayout.NORTH);
demo.setSize(1024, 768);
demo.setVisible(true);
}
}