Могу ли я сделать это в настольном приложении Java? - PullRequest
2 голосов
/ 26 февраля 2010

alt text

Я хочу сделать программу на рабочем столе Java.У меня есть 2 таблицы, «Таблица 1» и «Таблица 2».Когда я нажимаю «Кнопка 1» в поле таблицы отображается «Таблица 1», а когда я нажимаю «Кнопка 2», отображается «Таблица 2».

Кто-нибудь может сказать мне, как это сделать?Thx

Ответы [ 2 ]

5 голосов
/ 26 февраля 2010

Вы можете легко это сделать с помощью CardLayout.

При создании панели примерно так:

myPanel = new JPanel(new CardPanel());
myPanel.add(myPanelContainingTable1, CONSTANT_FOR_BUTTON1);
myPanel.add(myPanelContainingTable2, CONSTANT_FOR_BUTTON2);

в вашем actionPerformed методе, обрабатывающем действия кнопки:

CardLayout cl = (CardLayout) myPanel.getLayout();
if (event.getActionCommand().equals(actionCommandForButton1) {
    cl.show(myPanel, CONSTANT_FOR_BUTTON1);
} else if (event.getActionCommand().equals(actionCommandForButton2) {
    cl.show(myPanel, CONSTANT_FOR_BUTTON2);
}
1 голос
/ 26 февраля 2010

Все компоненты Java Swing имеют видимое свойство. Таким образом, самый простой способ - разместить обе таблицы в одном месте, но одновременно иметь только одну видимую Затем в ваших обработчиках кнопок вы делаете что-то вроде:

void button1_handler() {
  table1.setVisible(true);
  table2.setVisible(false);
}

void button2_handler() {
  table1.setVisible(false);
  table2.setVisible(true);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...