크기가 JFrame의 기본 레이아웃 (FlowLayout)으로 인해 "작동하지 않습니다". 이 레이아웃을 사용하면 개체의 크기 나 위치를 변경할 수 없습니다.
frame() {
setSize(600, 600);
setLayout(new LayoutManager() {...}
txtEnterNum = new JTextField();
txtEnterNum.setSize(100, 50);
setLocation(100, 150);
add(txtEnterNum);
txtEnterNum.setVisible(true);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
: 당신은 JFrame의 생성자의 레이아웃을 설정해야
setLayout(new LayoutManager() {
@Override
public void addLayoutComponent(String name, Component comp) {
}
@Override
public void removeLayoutComponent(Component comp) {
}
@Override
public Dimension preferredLayoutSize(Container parent) {
return null;
}
@Override
public Dimension minimumLayoutSize(Container parent) {
return null;
}
@Override
public void layoutContainer(Container parent) {
public void layoutContainer(Container parent) {
float modifierx = Toolkit.getDefaultToolkit().getScreenSize().width/100;
float Sizemodifier = Toolkit.getDefaultToolkit().getScreenSize().height/50;
float modifiery = Toolkit.getDefaultToolkit().getScreenSize().height/150;
int x=(int)(Toolkit.getDefaultToolkit().getScreenSize().width/modifierx);
int y=(int)(Toolkit.getDefaultToolkit().getScreenSize().height/modifiery);
int height =(int)(Toolkit.getDefaultToolkit().getScreenSize().height/Sizemodifier);
int DX =(int)(Toolkit.getDefaultToolkit().getScreenSize().width/modifierx);
int DY =(int)(Toolkit.getDefaultToolkit().getScreenSize().height/modifiery);
for(int i = 0; i<parent.getComponentCount();i++){
if(i%2==0){
parent.getComponent(i).setBounds(x,y,x,height);
x+= DX;
}else{
parent.getComponent(i).setBounds(x,y,x,height);
x=Toolkit.getDefaultToolkit().getScreenSize().width/100;
y+=DY;
}
}
}
});
: 자신의 레이아웃을 사용하는 것을 시도하십시오 (당신의 구성 요소의 크기와 위치를 수정하기 위해 x와 y 값을 수정)
이전에 존재했던 txtEnterNum을 제거한 적이 있습니까? –
현재 허용되는 대답은 텍스트 필드의 크기와 위치를 지정하는 완전한 잘못된 방법입니다. 나는 (그리고 많은 다른 사람들) 당신에게 그렇게하기위한 올바른 조언을 해 줄 수 있지만, 먼저 우리는 전체 GUI (다른 컴포넌트 및 레이블과 함께)가 어떻게 나타나야하는지 ** 알 필요가있다. ASCII 아트 또는 GUI의 * 의도 된 * 레이아웃의 간단한 그림을 최소한의 크기로 제공하고, 크기를 조정할 수 있으면 더 많은 너비와 높이로 추가 공간을 사용하는 방법을 보여줍니다. –
BTW 1) 높이가 50 인 글꼴은 큰 글꼴이 아닌 한 텍스트 필드보다 일반적으로 더 큽니다. 2)'txtEnterNum'은 그 이름의 'num num'부분이'SpinnerNumberModel'을 가진'JSpinner'가 더 나은 프로그래밍 접근법이 될 수 있고 또한 사용자에게 더 쉽다는 것을 암시합니다. –