안녕하세요 저는 제 자신의 계산기를 만들려고 노력하고 있는데 그래픽 부분에 문제가 있습니다 ... 레이블과 버튼을 만들고 레이블에 설정합니다. 그들은 나타나지만 문제가 무엇인지 그들의 위치를 설정할 수 없습니까 ?? 도움을 감사이 jframe 코드의 오류는 무엇입니까
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class calc extends JFrame {
public calc(String string) {
this.setResizable(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("calculator");
this.setPreferredSize(new Dimension(300, 400));
JButton button1 = new JButton("calculate");
button1.setBackground(Color.cyan);
button1.setLocation(200, 100);
button1.setPreferredSize(new Dimension(100, 20));
JLabel label1 = new JLabel();
label1.setText(main.main.text); // main.main.text is a text in main class it works XD
JPanel panel1 = new JPanel();
panel1.add(label1);
panel1.add(button1);
panel1.setPreferredSize(new Dimension(300, 400));
this.getContentPane().add(panel1);
this.pack();
panel1.setVisible(true);
button1.setVisible(true);
label1.setVisible(true);
}
}
여기서 'main.main.text'는 무엇입니까? 코드도 공유 할 수 있습니다. 적절한 getter 메소드를 사용하여 액세스하십시오. – Braj
기본적으로 FlowLayout을 사용하는 JPanel에 추가 된 구성 요소의 절대 위치를 설정하려고 시도하고 있으며 FlowLayouts는 절대 위치를 고려하지 않습니다. Null 레이아웃은 그렇지만 대부분의 다른 플랫폼이나 화면 해상도에서보기 좋게 보이고 업데이트 및 유지 관리가 매우 어렵지만 매우 유연하지 않은 GUI를 위해 null 레이아웃을 사용하지 않아야합니다. 더 나은 솔루션 : 달성하려는 목표에 대한 그림을 보여 주거나 GUI 레이아웃을보다 자세히 설명하면 문제를 해결하는 데 도움이 될 것입니다. –
스윙 GUI는 글꼴 크기에 대한 기본 설정이 다른 여러 화면 크기와 해상도에서 다른 PLAF를 사용하여 다른 플랫폼에서 작동해야 할 수 있습니다. 따라서 구성 요소의 정확한 배치에 도움이되지 않습니다. 대신 레이아웃 관리자 또는 [레이아웃 관리자 조합] (http://stackoverflow.com/a/5630271/418556) 및 [레이아웃 패딩 및 테두리] (http://stackoverflow.com/q/17874717/418556)을 사용하십시오.). –