2016-06-27 2 views
0

Я использую netbeans для создания моего графического интерфейса. я получил следующий классGUI с использованием netbeans. Где создать ArrayList

  • MainUI.java
  • Person.java
  • Gender.java (Enum)

Внутри моей MainUI.java это коды автоматически генерируются для NetBeans мой UI.

Я хочу создать ArrayList, который добавит объект Person в arraylist при щелчке JButton.

Где я могу поместить код ArrayList<Person> list = new ArrayList<Person>();?

public class MainUI extends javax.swing.JFrame {

ИЛИ

public static void main(String args[]) {.

Если я положил его в статической силы основных, я не мог получить доступ к ArrayList из моего EventHandler кода в MainUI etends javax.swing.JFrame

+0

Не вводите слишком много логики в классы пользовательского интерфейса. Разделение опасений - хорошая практика. Моим советом было бы создать бизнес-классы независимо от пользовательского интерфейса, передать бизнес-объект в классы пользовательского интерфейса и разрешить обмену UI с этим объектом. Но это только мое мнение *, поэтому он не может быть ответом ... –

ответ

0

Создать класс, где вы храните переменные, которые должны быть доступны из любого места в вашем программа.

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

Вы бы получить доступ к нему, как это:

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

, хотя его рабочее решение для проблемы, далеко не многие используют такой подход далеко не часто. –

0

Не видя, что реализуется в каждом, я хотел бы предложить положить его в MainUI классе, потому что он используется каждый раз при нажатии кнопки и кнопка реализована в MainUI.

Смежные вопросы