Mam dziwny problem. Używam pustego układu dla okna (= JFrame i na windows) i jeśli używam setResizable (false), rozmiar okna staje się większy (na prawo i na dole, powiedziałbym około 10 pikseli). Nie wiem dlaczego.Java setResizable (false) zmienia rozmiar okna (swing)
Dwa println na powrót tych samych rozmiarów, co jest dziwne, również ...
mainWnd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWnd.setTitle(wndTitle);
mainWnd.setBounds(wndPosX, wndPosY, wndWidth, wndHeight);
System.out.println(mainWnd.getHeight() + mainWnd.getWidth());
mainWnd.setResizable(false);
System.out.println(mainWnd.getHeight() + mainWnd.getWidth());
Czy ktoś ma pomysł? Dlaczego okno zmienia rozmiar?
UPDATE: samo tutaj (skompilować go i bez setResizable i nie można go zobaczyć, jeśli pokrywają okna):
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main
{
private static JFrame mainWnd = null;
public static void main(String[] args)
{
mainWnd = new JFrame();
mainWnd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWnd.setTitle("asda");
mainWnd.setBounds(50, 50, 300, 300);
mainWnd.setResizable(false);
mainWnd.setVisible(true);
}
}
Dostaniesz lepszą i szybszą odpowiedź, jeśli wykazują [SSCCE] (http://sscce.org). – assylias
jest przykład, nie mogę wkleić reszty, bo działa za nią xml-parser i wiele więcej ... a problem właśnie się dzieje z wywołaniem setResizable – immerhart
Nie mogę odtworzyć tego zachowania. Więc spróbuj pozbyć się wszystkich niepotrzebnych części i opublikuj kompilowany i działający przykład, który ma wspomniane zachowanie. – assylias