java—在jdesktoppane内部的jinternalframe中,jtextfield键盘快捷键不起作用

5tmbdcev  于 2021-07-04  发布在  Java
关注(0)|答案(0)|浏览(204)

我有一个 JInternalFrame 内部 JDesktopPane .
在这里面,我有几个 JTextField 的和 JTextArea 的。
没有一个键盘快捷键在我的任何内部框架中工作。。。如。: Cmd+C / Cmd+V ,偶数 Cmd+A ,跳到行的开头,等等。
是否有一些设置允许键盘快捷键在内部框架内工作?
我的swing应用程序只是一个将xml格式转换为字符串的简单工具。而复制粘贴输入是其中必不可少的一部分。
我正在添加应用程序中的一些片段。。。但我认为我还没有编写任何专门禁用键盘快捷键的代码。

//sample create
private JTextField tfPattern = new JTextField("*.*");
private JTextArea taLog = new JTextArea();
private JScrollPane spLog = new JScrollPane(taLog);

//sample add
outer.add(tfPattern, "spanx 2, wrap");
outer.add(spLog, "span");

//MigLayout for the panels 
private JPanel outer = new JPanel(new MigLayout( "","[fill][450:700:,grow, fill][fill]","[][][80::100, fill][][][][][80::100, fill][][300::,grow, fill][]" ));

//Mac menu bar setting
System.setProperty("apple.laf.useScreenMenuBar", "true");

//Installing WebLaf at the beginning
WebLookAndFeel.install();

//beginning of app I setup font scaling
private static void setupFontScaling() {
    for (Map.Entry<Object, Object> entry : javax.swing.UIManager.getDefaults().entrySet()) {
        Object key = entry.getKey();
        Object value = javax.swing.UIManager.get(key);
        if (value != null && value instanceof javax.swing.plaf.FontUIResource) {
            javax.swing.plaf.FontUIResource fr=(javax.swing.plaf.FontUIResource)value;
            javax.swing.plaf.FontUIResource f = new javax.swing.plaf.FontUIResource(fr.deriveFont(fr.getSize2D() * 0.9f));
            javax.swing.UIManager.put(key, f);
        }
    }
}

更新:发布问题后意识到weblaf可能是问题所在。评论了weblaf安装的行,现在可以复制/粘贴了。
然而,weblaf过去可以很好地处理jframes。想知道为什么jinternalframes和weblaf有问题。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题