에 레이아웃을 setLayout
으로 설정 한 다음 getLayout
으로 검색하면 LayoutManager
이 달라집니다. 무슨 일 이니?JFrame 레이아웃이 내가 설정 한 레이아웃이 아닌 이유는 무엇입니까?
public class Lay {
public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
java.awt.Container container =
new javax.swing.JFrame();
//new javax.swing.JPanel();
java.awt.LayoutManager layout =
new java.awt.GridLayout();
container.setLayout(layout);
layout = container.getLayout();
System.err.println(layout);
}
});
}
}
는
java.awt.BorderLayout[hgap=0,vgap=0]
를 제공하지만 JPanel
와 JFrame
를 교체하면 나는 Java API for JFrame
에서
java.awt.GridLayout[hgap=0,vgap=0,rows=1,cols=0]
나보다 앞서 있습니다. 잘하셨습니다! – basszero
getContentPane 항목의 근거에 대해 Hans Muller는 다음과 같이 설명합니다. http://weblogs.java.net/blog/hansmuller/archive/2005/11/jframeadd_conte.html – McDowell
즉, setLayout()은 JFrame에서 재정의되며 getLayout()이 아닙니다 ... –