2012-04-18 5 views
0

Я занят с приложением, которое работает в JFrame (с использованием BorderLayout), и имеет:Изменение SetText из нескольких классов в Java

  • Строка состояния в нижней
  • Фиксированные кнопки слева
  • Меню сверху (это изменение относится к определенной функции),
  • Кнопки справа (это изменение относится к определенной функции).

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

Как изменить значения на кнопках и меню для каждого класса по этому конкретному классу?

+2

Одним из способов может быть предоставление каждому классу метода, подобного 'public Action [] getActions()', который возвращает действия, соответствующие классу. При загрузке/изменении этой функции вызовите метод и добавьте их в панель инструментов или меню. –

+0

@AndrewThompson имеет правильное представление; см. также этот пример [пример] (http://stackoverflow.com/a/4039359/230513). – trashgod

ответ

0

Если вы создаете отдельный класс для каждой кнопки, я бы удостоверился, что класс расширяет JButton. Делая это, чтобы изменить значения на кнопках, вы по-прежнему иметь доступ ко всем нормальным JButton методов, как setText();

Так, мы надеемся, пользовательские классы кнопка будет выглядеть примерно так ...

public class MyButton1 extends JButton { 

    public MyButton1(String label){ 
     super(label); 
    } 

// your other methods go here 
} 

Для создания кнопки вы могли бы сделать это, что бы установить метку кнопки ...

MyButton1 button1 = new MyButton1("Hello"); 

И вы все еще можете назвать JButton методы, если вы хотите изменить метку позже, как это ...

button1.setText("Goodbye"); 
Смежные вопросы