Witam.
Mam problem w ustawieniu komponentów tak, żeby przyciski JButton były po lewej stronie i miały stałe rozmiary, a na środku znajdowało się to, co ma zostać wyświetlone po naciśnięciu przycisku.
Czyli np. naciskam przycisk "Dodaj" i na środku pojawia się JTextField, w którym mogę wpisać w tym wypadku nazwę książki.
Napisałem coś takiego, ale niestety przyciski rozjeżdżają mi się po wydłużeniu okna.
import javax.swing.*;
import java.awt.*;
public class Okno extends JFrame{
// Deklaracja komponentow
JPanel menu, zawartosc;
JButton dodaj, usun, wyswietl, zapisz, wczytaj;
public Okno() {
super("Biblioteka");
buduj();
}
private void buduj() {
// Definicja komponentow
menu = new JPanel();
zawartosc = new JPanel();
dodaj = new JButton("Dodaj");
usun = new JButton("Usun");
wyswietl = new JButton("Wyswietl");
zapisz = new JButton("Zapisz");
wczytaj = new JButton("Wczytaj");
// Ustawienia komponentow
menu.setLayout(new GridLayout(5, 1));
zawartosc.setBackground(Color.GREEN);
// Dodanie komponentow
menu.add(dodaj);
menu.add(usun);
menu.add(wyswietl);
menu.add(zapisz);
menu.add(wczytaj);
// Dodanie glownego panelu do "plotna"
Container pane = getContentPane();
pane.add(menu, BorderLayout.WEST);
pane.add(zawartosc, BorderLayout.CENTER);
}
public static void main(String[] args) {
Okno ok = new Okno();
ok.setSize(600, 200);
ok.setDefaultCloseOperation(EXIT_ON_CLOSE);
ok.setVisible(true);
}
}
Próbowałem ustawiać rozmiary przycisków za pomocą funkcji setMaximumSize, setPreferedSize, ale to nic nie dawało, za każdym razem się rozjeżdżały.