有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

打开后摆动内部框架无法获得焦点。。。(爪哇)

我有一个菜单,上面有打开内部框架的项目,但每次我都需要在框架中单击两次。一次将焦点放在Int.frame上,第二次将焦点放在textfield上

所以,我的问题是:是否有可能自动将焦点放在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

    }
}}

不管怎样,菜单始终保持焦点。例如,单击浏览器的菜单,您将保持焦点,通过移动光标,您将打开其他菜单,而无需单击


通过将属性“selection model”设置为null,可以工作,但请给我nullpointerexception


共 (1) 个答案

  1. # 1 楼答案

    好的,问题在于jMenu,但是jMenuItem工作正常,所以。。。我正在使用