Java 我的内部框架不';打开后无法获得焦点。。。(爪哇)
我有一个菜单,上面有打开内部框架的项目,但每次我都需要在框架中单击两次。一次将焦点放在Int.frame上,第二次将焦点放在textfield上 所以,我的问题是:是否有可能自动将焦点放在Int.Frame上Java 我的内部框架不';打开后无法获得焦点。。。(爪哇),java,swing,focus,jinternalframe,jdesktoppane,Java,Swing,Focus,Jinternalframe,Jdesktoppane,我有一个菜单,上面有打开内部框架的项目,但每次我都需要在框架中单击两次。一次将焦点放在Int.frame上,第二次将焦点放在textfield上 所以,我的问题是:是否有可能自动将焦点放在Int.Frame上 我的主屏幕代码: public final class principal extends javax.swing.JFrame { viewCity city = new viewCity(); public principal() { initComponents();
我的主屏幕代码:
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。好的,问题在于jMenu,但是jMenuItem可以正常工作,所以。。。我正在使用查看这些链接。尝试使用
city.requestFocusInWindow
代替city.requestFocus()代码>请参阅。“请注意,不鼓励使用此方法,因为它的行为依赖于平台。相反,我们建议使用…”“我已经尝试过此方法,但也没有发生任何情况。要更快地获得更好的帮助,请发布一个。