Wpis z mikrobloga

#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?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@yras8 nie odpowiem na pytanie, ale dlaczego robisz to w swingu? JavaFX jest zdecydowanie ładniejszy i przyjemniej się w nim pracuje
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@yras8: sprobuj gridlayoutu, będzie łatwiej to osiągnąć, albo może odpowiększ margines górny chyba insets to się nazywa
  • Odpowiedz
@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?
  • Odpowiedz