저는 데스크톱 응용 프로그램 용 사용자 정의 JFrame을 만들었고 응용 프로그램의 맨 위에 JPanel을 추가하여 제목 상자의 하위 기능을 수행했습니다. 문제는 보통 왼쪽 상단 대신 JPanel의 중간에있는 버튼을 추가했을 때입니다. 그리고 다른 위치에 놓아도 움직이지 않을 것입니다. 당신은 프레임에서 BorderLayout
를 사용JPanel 버튼이 정확한 위치에 없습니다
JFrame f = new JFrame("Hello");
f.setResizable(true);
JPanel pa = new JPanel();
JButton btn = new JButton("Exit");
btn.setBackground(Color.white);
btn.setText("Button");
btn.setSize(300, 80);
btn.setLocation(50, 0);
pa.setBackground(Color.red);
pa.setPreferredSize(new Dimension(width,60));
pa.add(btn);
f.setBackground(Color.white);
f.setUndecorated(true);
f.getContentPane().add(pa, BorderLayout.NORTH);
f.setSize(new Dimension(width,height));
f.setLocation(200, 200);
f.setVisible(true);
[패널 사용 방법 - 레이아웃 관리자 설정] (https://docs.oracle.com/javase/tutorial/uiswing/components/panel.html#layout) -> [레이아웃 관리자 사용] (https : //docs.oracle.com/javase/tutorial/uiswing/layout/using.html) –
"보통 왼쪽 상단"은 "예상대로"또는 " "이전에 Swing 장소를 본 곳"? 이전 버전 인 경우 Axel에서 제안한 Swing 문서 ([menu] (https://docs.oracle.com/javase/tutorial/uiswing/components/menu.html) 문서)를 읽어보십시오. 몹시 떠들어 대다). 후자의 경우 의도 한대로 작동하는 구성 요소의 예가 비교 대상이됩니다. – dimo414