Tôi gặp vấn đề lạ. Tôi đang sử dụng cách bố trí null cho một cửa sổ (= JFrame và trên cửa sổ) và nếu tôi sử dụng setResizable (false) kích thước cửa sổ được lớn hơn (phải và dưới, khoảng 10 pixel tôi sẽ nói). Tôi không biết tại sao.Java setResizable (false) thay đổi kích thước cửa sổ (swing)
của hai println trả lại kích thước tương tự, những gì là lạ, cũng ...
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());
Liệu ai đó có một ý tưởng? Tại sao cửa sổ được thay đổi kích thước?
UPDATE: Cùng một điều ở đây (biên dịch nó có và không có setResizable và hơn bạn có thể nhìn thấy nó, nếu bạn chồng lên cửa sổ):
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);
}
}
Bạn sẽ nhận được câu trả lời tốt hơn và nhanh hơn nếu bạn thể hiện một [SSCCE] (http://sscce.org). – assylias
có một ví dụ, không thể dán phần còn lại, khiến xml-parser hoạt động sau nó và nhiều hơn nữa ... và sự cố chỉ xảy ra với cuộc gọi setResizable – immerhart
Tôi không thể tạo lại hành vi. Vì vậy, hãy cố gắng loại bỏ tất cả các phần không cần thiết và đăng một ví dụ có thể biên dịch và chạy được có hành vi mà bạn đề cập. – assylias