Мои внутренние кадры не получают фокус после открытия... (Java)

У меня есть меню с элементами, которые открывают внутренние рамки, но каждый раз мне нужно дважды щелкнуть в рамке. Один раз, чтобы сосредоточиться на Int.frame, и второй раз, чтобы действительно что-то сделать (сфокусироваться на текстовом поле).

Итак, вот мой вопрос: можно ли автоматически фокусироваться на Int.Frame?


Код моего основного экрана:

public final class principal extends javax.swing.JFrame {

viewCity city = new viewCity();

public principal() {
    initComponents();
    myListeners();
    setLocationRelativeTo(null);
}

public void myListeners() {
    menuCity.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            menuCityClicked(e);
        }
    });
}

public void central(JInternalFrame window1) {

    int lDesk = panelPrincipal.getWidth();
    int aDesk = panelPrincipal.getHeight();
    int lIFrame = window1.getWidth();
    int aIFrame = window1.getHeight();

    window1.setLocation(lDesk / 2 - lIFrame / 2, aDesk / 2 - aIFrame / 2);
}

private void menuCityClicked(MouseEvent e) {
    if (!city.isVisible()) {
        panelPrincipal.add(city);
        central(city);
        city.requestFocus(); // Nothing
        city.requestFocusInWindow(); // Nothing
        city.setVisible(true);
        city.requestFocus(); // Nothing
        city.requestFocusInWindow(); // Nothing

    }
}}

Что бы ни случилось, меню всегда будет в центре внимания. Например, щелкните в меню вашего браузера, и вы сохраните фокус, перемещая курсор, вы откроете другие меню без необходимости щелкать.


Помещая свойства "модель выбора" в null, работает, но дает мне nullpointerexception.

1 ответ

Решение

Хорошо, проблема с jMenu, но с jMenuItem Работает нормально, так что... Я использую

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