Hallo!
Wir haben folgendes Problem: Wir haben ein BorderLayout und im Bereich EAST befindet sich ein JPanel mit einem Bild. Dieses JPanel würden wir gern vertikal zentrieren. Kann uns jemand sagen, wie das geht?
Vielen Dank im Voraus...
Hier der Code:
Wir haben folgendes Problem: Wir haben ein BorderLayout und im Bereich EAST befindet sich ein JPanel mit einem Bild. Dieses JPanel würden wir gern vertikal zentrieren. Kann uns jemand sagen, wie das geht?
Vielen Dank im Voraus...
Hier der Code:
Java:
import javax.swing.*;
import java.awt.*;
/**
* Die OurGUI-Klasse enthält die Eigenschaften des Haupt-/Navigationsfensters des Spiels.
* @author ADAC
*/
public class OurGUI extends JFrame
{
// Festlegung der Attribute der Klasse OurGUI
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JPanel panelButton;
private JPanel bild;
private JLabel oben;
private JLabel unten;
private JLabel label;
private JLabel label1;
private ImageIcon image;
private JDialog dialog;
/**
* Konstruktor der Klasse OurGUI
* Eigenschaften des Fensters werden festgelegt
*/
public OurGUI()
{
// Name/Titel des Hauptfensters
setTitle("Willie Wurm");
// Größe des Fensters
setSize(600, 700);
// Fenster auf Bildschirm zentrieren
setLocationRelativeTo(null);
// Bei Klick auf x Fenster schließen
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Dem Fenster ein BorderLayout zuweisen
setLayout(new BorderLayout());
// Neues Objekt der Klasse OpenWindow erzeugen
OpenWindow window = new OpenWindow (this);
// Buttons erzeugen
button1 = new JButton("Spielen");
button2 = new JButton("Spielregeln");
button3 = new JButton("Highscore");
button4 = new JButton("Einstellungen");
button5 = new JButton("About");
// Den Buttons Actionlistener zuweisen
button1.addActionListener(window);
button2.addActionListener(window);
button3.addActionListener(window);
button4.addActionListener(window);
button5.addActionListener(window);
// Neues GridLayout mit fünf Zeilen, einer Spalte, 7pt horizontalem Abstand und
// 30pt vertikalem Abstand erzeugen
GridLayout gl = new GridLayout(5, 1, 7, 30);
// Panels für Buttons und Bild erzeugen
panelButton = new JPanel(gl);
bild = new JPanel();
// Bild importieren
ImageIcon image = new ImageIcon("wurm3.jpg");
// Buttons auf Panel legen
panelButton.add(button1);
panelButton.add(button2);
panelButton.add(button3);
panelButton.add(button4);
panelButton.add(button5);
// Labels erzeugen
oben = new JLabel("Willie Wurm");
label = new JLabel(image, JLabel.CENTER);
unten = new JLabel("© (A)DAC");
// Labels auf die ContentPane legen
getContentPane().add(BorderLayout.NORTH, oben);
getContentPane().add(BorderLayout.SOUTH, unten);
// Text der oberen und unteren Labels zentrieren
oben.setHorizontalAlignment(JLabel.CENTER);
unten.setHorizontalAlignment(JLabel.CENTER);
// Label mit dem Bild auf entsprechendes Panel legen
bild.add(label);
// Panels auf die ContentPane legen
getContentPane().add(BorderLayout.WEST, panelButton);
getContentPane().add(BorderLayout.EAST, bild);
// Fenster sichtbar machen
setVisible(true);
}
}