Используя JInternalFrame и некоторые кнопки

Можем ли мы использовать JInternalFame с кнопкой в ​​основном кадре? Рамка содержит JDesktopPane, конечно. Кнопка должна открыть JInternalFrame Как?

2 ответа

Решение

Я не знаю способ поставить JButton прямо на JDesktopPane, но вы можете использовать пункты меню для создания и выбора JInternalFrame, В этом примере каждый пункт меню использует Action определены в JInternalFrame выбрать соответствующий кадр.

class MyFrame extends JInternalFrame {

    private Action action;

    MyFrame(JDesktopPane desktop, String name, int offset) {
        …
        action = new AbstractAction(name) {
            @Override
            public void actionPerformed(ActionEvent ae) {
                try {
                    MyFrame.this.setSelected(true);
                } catch (PropertyVetoException e) {
                    e.printStackTrace();
                }
            }
        };
    }

    public Action getAction() { return action; }
}

Приложение: как подсказывает @camickr, технически возможно поставить JButton прямо на JDesktopPane, но это может оказаться трудным для использования на практике.

Я не совсем понимаю вопрос, поэтому сделаю несколько замечаний.

a) JInternalFrme похож на фрейм, в котором вы можете добавить любой компонент, который вы хотите

б) JButton работает одинаково, независимо от того, добавлен ли он во внутренний фрейм или фрейм

Я предлагаю вам начать с чтения учебника по Swing для рабочих примеров. Вы можете начать с разделов "Как использовать внутренние рамки" и "Как использовать кнопки".

Если у вас все еще есть проблемы, тогда опубликуйте свой SSCCE, который показывает, что вы пробовали

Другие вопросы по тегам