안녕하세요 저는 자바 프로그래밍 기술을 익히기 위해 체스 게임을 만드는 자바 스윙을 배우고 있습니다.자바 스윙 패널 크기
동쪽에 JPanel을 추가했습니다. BorderLayout
으로 JFrame의 동쪽에 setPrefferedSize(new Dimension(x,y))
메서드를 사용하여 너비와 높이를 설정했습니다.
그 후 나는 JPanel을 4 개 만들고 이전에 만든 패널에 BoxLayout
으로 추가했습니다.
setSize(x,y)
과 setPreferredSize(new Dimension(x,y))
으로 4 패널의 크기를 설정하려했지만 4 개의 패널이 자동으로 변경되어 주 JPanel에 맞게 크기가 변경되었고 그 중 하나에 JLabel을 추가 한 후에 크기가 커졌습니다 자동으로.
이 내 코드입니다 :
가 어떻게 이러한 패널의 각의 크기를 변경할 수 있습니다
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
JPanel a = new JPanel();
a.setPreferredSize(new Dimension(50, 50)); //this dosent work
a.add(min);
a.setBackground(Color.red);
this.add;
JPanel b = new JPanel();
b.setBackground(Color.blue);
this.add(b);
JPanel c = new JPanel();
this.add(c);
JPanel d = new JPanel();
d.setBackground(Color.black);
this.add(d);
?
처리중인 이러한 문제는 레이아웃에 따라 다릅니다. Use는 'BoxLayout'을 사용해야합니까? 나를 위해, 개인적으로, 당신은 달성하고자하는 작업에'GridLayout'을 사용할 것입니다. – fireshadow52
참고 사항 [예제] (http://stackoverflow.com/a/2562685/230513) 및 [변형] (http://stackoverflow.com/a/2563350/230513); more [here] (http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumsize-methods-in-java-swi/7229662). – trashgod
그것들은 실제로'BoxLayout' 문제입니다. 'Grid' 레이아웃을 사용해보십시오. 그러면 여러분이 기대하는 것보다 훨씬 더 많을 것입니다. – Sheriff