2016-06-27 1 views
0

netbeans를 사용하여 GUI를 만듭니다. 나는 다음과 같은 클래스netbeans를 사용하는 GUI. ArrayList를 만들 위치

  • MainUI.java
  • Person.java
  • Gender.java (열거) 내 MainUI.java 내부

가 넷빈즈에 의해 생성 된 코드를 자동이다있어 내 UI.

JButton을 클릭하면 arraylist에 Person 객체를 추가하는 ArrayList를 만들고 싶습니다.

어디서 코드 ArrayList<Person> list = new ArrayList<Person>();을 삽입해야합니까?

public class MainUI extends javax.swing.JFrame {

또는

public static void main(String args[]) {

.

내가 정적 무효 메인에 넣어 경우, 내가 MainUI 내 이벤트 핸들러 코드에서 ArrayList에 액세스 할 수는 javax.swing.JFrame

+0

UI 클래스 내에 너무 많은 로직을 넣지 마십시오. 우려의 분리는 좋은 습관이다. 내 충고는 UI와는 독립적 인 비즈니스 클래스를 만들고, UI 클래스에 비즈니스 객체를 전달하고, 해당 객체와 UI를 교환하도록하는 것이다. 하지만 그건 단지 내 의견 *입니다. 그래서 대답이 될 수는 없습니다 ... –

답변

0

당신이 어디에서 액세스 할 수해야하는 변수를 저장하는 클래스를 만들기를 etends 당신의 프로그램.

class Global { 
    public static ArrayList<Object> list = new ArrayList<>(); 
    private Global(){} 
} 

당신은 다음과 같이 액세스 할 각에서 구현되는 것을 보지 않고

GLobal.list.add(new Object()); 
+0

문제에 대한 해결책이 있지만, 많은 사람들은 이런 종류의 접근법을 멀리 사용합니다. –

0

, 내가 MainUI 클래스에 넣어 제안이 버튼을 누를 때마다 사용하고 있기 때문에 버튼은 MainUI에 구현됩니다.

관련 문제