2015-08-07 5 views
0

У меня есть программа, которую я построил и усовершенствовал. Теперь я хочу создать пользовательский интерфейс.Ссылка на метод из класса SWT

Я загрузил все материалы SWT и сформировал макет GUI по своему вкусу. Вот моя проблема: мне нужно связать свой класс программы с классом GUI. У меня был этот код:

conv script = new conv(); 
// other coding bits for the other GUI stuff 
// inside an ActionEvent: 
script.mainScript(); 

Но он дал мне сообщение об ошибке, говорящем

не может относиться к неконечному локальному переменному сценарию, определенный в области видимости

Так что я изменил это

final conv script = new conv(); 

он сказал

метод скрипт (String []) в типе ко не применяется для аргументов()

Я довольно новый программист так я новичок во всем этом. Что это значит и как я могу это исправить?

+0

'ActionEvent' - AWT/Swing not SWT –

ответ

0

Первая ошибка означает только то, что сообщение об ошибке говорит: поскольку script.mainScript() вызывается из ActionEvent, он, вероятно, находится в анонимном классе, который не имеет доступа к script. Сделав его окончательными изменениями, это видимая область. Мы не можем сказать, должны ли вы сделать его final или использовать другой механизм, например, передавая его в качестве параметра для вашего ActionListener, так как мы не знаем, ваш код, но вы должны read about it to make your own informed decision.

Вторая ошибка означают только то, что в сообщении об ошибке говорится: вашему методу mainScript(String[]) нужен параметр массива String[], но вы вызываете его без параметров, следовательно, это ошибка.

Для справки это не имеет никакого отношения к SWT как таковой. И поскольку вы новичок, некоторые соглашения Java: имена классов, такие как ваши conv, обычно начинаются с заглавных букв: Conv. Сценарий вводит в заблуждение имя метода/объекта/класса, поскольку мы программируем здесь, а не сценарии.