2016-06-07 3 views
-2

Я создаю графический интерфейс с Swing. Прежде всего, экземпляр класса User и я инициализирую его. Затем, в зависимости от Action Listeners, я вызываю методы этого класса. Проблема в том, что у меня разные функции в графическом интерфейсе моего класса, и когда я вызываю методы класса, я должен использовать экземпляр, созданный в начале. Проблема в том, что я не могу установить экземпляр класса User как атрибут GUI моего класса, потому что он не является статичным.Использовать экземпляр класса как атрибут

public class User{ 
    int id; 
    public User(){ 
     id = 5; 
    } 
    public void setId(int a){ 
     id = a; 
    } 
} 
public class Gui{ 
    User u; 
    public static void main(String[] args){ 
     u = new User(); 
     //////////////// 

     //////////////// 
     doStuff(); 
    } 
    public void doStuff() { 
     u.setId(1); 
    } 
}  

Как я могу сделать что-то подобное?

+1

Подсказка: вы начинаете делать ... нет. Понимание разницы между статическими и нестационарными (и какой из них следует использовать для какой цели) - это очень простой материал. Серьезно: если вы не знаете таких вещей ... тогда не входите в программирование приложений UI. Вы должны научиться ходить; вместо того, чтобы пытаться научиться манипулировать тремя шарами, одновременно пытаясь научиться ездить на велосипеде. Значение: сосредоточиться на базовом языке Java. И затем, двигайтесь вперед. – GhostCat

+0

Спасибо, я пытаюсь думать на Java. – Fylux

+0

Все, что я говорю: мышление будет проще, если вы сосредоточитесь на ** одном ** аспекте за раз. Не кратно. Программирование GUI само по себе является передовой темой. – GhostCat

ответ

1

В вашей функции main вы должны создать (общедоступный) экземпляр вашего класса Gui.
Затем сделайте все, что хотите, ссылаясь на этот экземпляр.

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