y.....8
#java #programowanie

Menu(String nazwa) {

super(nazwa);
setResizable(false);
setSize(1000, 1000);
setLayout(new BorderLayout());
setDefaultCloseOperation(JFrame.EXITONCLOSE);
JPanel pn1 = new JPanel();
setLocation(50,50);
JButton bt1 = new JButton("ROZPOCZNIJ GRE");
JButton bt2 = new JButton("ZASADY ROZGRYWKI");
JButton bt3 = new JButton("WYJDZ Z GRY");
pn1.add(bt1);
pn1.add(bt2);
pn1.add(bt3);

add(pn1, BorderLayout.CENTER);

}

Ten panel z buttonami chciałem żeby był na środku JFrama,ale nie jest,sięga idealnie do góry jak zdjęcie w załączniku,co jest źle w konsruktorze?
  • Najlepsze
  • Wszystkie komentarze
y.....8
Patres
@yras8 nie odpowiem na pytanie, ale dlaczego robisz to w swingu? JavaFX jest zdecydowanie ładniejszy i przyjemniej się w nim pracuje
y.....8
@Patres: PONIEWAŻ POLITECHNIKA GDAŃSKA MI KAŻE (╯︵╰,)
Bruno_
@yras8: no przecież jest center, o co ci chodzi?

UnitrA
@yras8: sprobuj gridlayoutu, będzie łatwiej to osiągnąć, albo może odpowiększ margines górny chyba insets to się nazywa
marcinRGZ
marcinRGZ
@yras8: Dawno już nie robiłem w Swingu, ale tam jest tak że jak robisz BorderLayout i masz tylko jeden element, to ten jeden wypełnia cały kontener nadrzędny. Jeżeli chcesz używać koniecznie BorderLayoutu to musiałbyś mieć przynajmniej 3 elementy, np jeden z góry i jeden z lewej + musiałbyś ustawić tym dwóm preferedSize.

Używasz Netbeans, dlaczego nie zaprojektujesz tej Formy za pomocą wbudowanego narzędzia i SpringLayoutu?
y.....8
@marcinRGZ: za pomocą jakiego narzędzia? Xd
marcinRGZ
marcinRGZ
@yras8: Może niezbyt szczęśliwie sie wyraziłem, ale z menu New możesz wybrać JFrame form, apożniej na tym umieszczać komponenty. Zobacz dowolny filmik np: https://www.youtube.com/watch?v=pZiyqQD4mWk
UnitrA
@yras8: i jak tam, dałeś radę? ( ͡° ͜ʖ ͡°)