누구든지 내 코드로 나를 도울 수 있습니까? 동적으로 생성 된 텍스트 필드가 필요한 프로젝트에서 작업 중이지만 텍스트 필드를 만들 수는 있지만 배열에 저장해야하는 사용자 입력을 가져올 수 없습니다. 다음은 내가 사용한 코드입니다.
Public void actionPerformed(ActionEvent e){
String value = textField.getText();
int values = Integer.parseInt(value);
int sum = 10;
for(int I=0; I < values; I++){
TextField field = new TextField();
field.setBound(10,sum,107,22);
Panel.add(field);
sum += 28;
}
}
});
그러나 textFields의 값을 얻기 위해 성공적인 코드를 작성할 수 없습니다.
문제는 참조에 대한 액세스입니다. 즉, 일단 개체를 생성하면 필요할 때 적절한 참조를 얻을 수있는 쉬운 방법이 없습니다. 해결책은 같은 컬렉션을 ArrayList<TextField>
클래스의 필드로 사용한 다음 생성 된 개체를이 컬렉션에 배치하는 것입니다. 그런 다음 나중에 필요할 경우 컬렉션에서 쉽게 가져올 수 있습니다.
몇 가지 권장 사항 :
ArrayList<JTextField>
TextFields가 아닌 JTextFields로 채 웁니다.피 setBounds(...)
와 null
매우 유연성이 GUI이 만들면서 레이아웃입니다 그들이 하나 개의 플랫폼보기에 좋은 보일 수 있습니다 동안 업데이트 및 유지 보수가 매우 어려운 대부분의 다른 플랫폼이나 화면 해상도와에 끔찍한.
여기에 하드 코딩 된 숫자와 같은 "마법의"숫자를 피하십시오. field.setBound(10,sum,107,22);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다