Мои внутренние кадры не получают фокус после открытия... (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 Работает нормально, так что... Я использую