我有一个菜单,其中包含打开内部框架的项目,但每次我需要在框架中单击两次。一次将焦点放在 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。