Должен ли я объявить свои компоненты Swing как переменные экземпляра или просто вернуть их из функций? - PullRequest
1 голос
/ 13 ноября 2010

Я только начинаю работать с JAVA и пытаюсь выяснить, какой будет лучший способ объявления переменных, особенно в отношении компонентов GUI. Я пытаюсь сделать свои функции как можно меньше, но я не уверен, должен ли я объявлять все мои компоненты как переменные экземпляра для моего класса GUI.

В этом коде я собирался объявить только основные части графического интерфейса, такие как рамка, панель, панель меню и сами меню, но я не уверен, какие части я должен объявлять как переменные экземпляра, а какие должны быть инкапсулированным.

class MyClass {

    public JFrame frame;
    public JPanel panel;
    public JMenuBar menuBar;
    public JMenu fileMenu;
    public JMenu editMenu;

    ....
    public void setUpEditMenu() {
          editMenu = new JMenu("Edit");
          editMenu.add(getEditMenuItem());
    }

    public JMenuItem getEditMenuItem() {
          JMenuItem menuItem = new JMenuItem("Preferences");
          return menuItem;
    }
}

1 Ответ

1 голос
/ 13 ноября 2010

Большинство GUI Builders для Java (например, Netbeans) объявляют компоненты GUI в качестве переменных экземпляра.
На самом деле нет необходимости инкапсулировать их, так как вы в основном захотите получить доступ к их уже инкапсулированным свойствам!
Также не забывайте о накладных расходах чрезмерных вызовов функций.
На мой взгляд, не переусердствуйте. Ваш код будет намного сложнее в использовании и довольно громоздким.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...