2012-05-17 2 views
2

Я создаю графический интерфейс для своей программы. Когда я нажимаю кнопку запуска, я хочу, чтобы она вызывала другую программу.Как вызвать другой файл Java в ActionListener?

Ниже мой listerner код:

private class ButtonHandler implements ActionListener 
{ 
    public void actionPerformed(ActionEvent e) 
    { 
     if(e.getSource()==startButton) 
      ????? 
    } 
} 

Что я должен делать? Я намерен вызвать другой файл Java (Start.java).

+6

1) Прекратите думать о них как о «файлах Java». Это классы. 2) Вы сделали бы это точно таким же образом в 'actionPerformed()' как 'main()' 3). Выделите такие простые вещи на ранней стадии *** *** ***, прежде чем пытаться программировать GUI. –

+3

Вы хотите начать думать об этом не в терминах «другого файла Java», а скорее о том, что вы хотите * выполнить метод на другом объекте *. Файл является артефактом людей, пишущих программное обеспечение, но мысленно, вы хотите принять модель объектов и методов. –

+0

этот вопрос уже ответил. этот [link] [1]. [1]: http://stackoverflow.com/questions/1346978/java-using-an-actionlistener-to-call-a-function-in-another-class-on-an- object-f –

ответ

3

Если вы хотите создать новый старт экземпляра там, вы могли бы сделать это:

public void actionPerformed(ActionEvent e) 
{ 
    if(e.getSource()==startButton) { 
     Start myStart = new Start(); 
     myStart.foo(); 
    } 
} 

или если вы уже иметь ссылку на существующий объект Start, а затем просто вызвать его методы. Предостережение, если какие-либо из методов Старта занимают много времени для завершения или являются ресурсными свиньями, вы захотите сделать их в фоновом потоке, например, поставляемом объектом SwingWorker.

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

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