小编ygg*_*raa的帖子

在swing应用程序中保留键盘布局?

我有一个Java Swing应用程序,它生成带有文本控件的子对话框.问题是,当您在子对话框中更改键盘布局时,它会在关闭对话框后立即更改.

我需要的是无论是在主框架还是在儿童框架中切换,在切换后都要保持的键盘布局.

这是一个说明问题的SSCCE:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class InheritInputContext {

    public static void main(String[] arg) {
        final MainFrame mainFrame = new MainFrame();
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                mainFrame.setPreferredSize(new Dimension(300, 400));
                mainFrame.pack();
                mainFrame.setLocationRelativeTo(null);
                mainFrame.setVisible(true);
            }
        });

    }
}


class MainFrame extends JFrame {

    MainFrame() {
        setLayout(new BorderLayout());
        JTextArea textArea = new JTextArea();
        add(textArea, BorderLayout.CENTER);

        JButton dialogBtn = new JButton("Dialog");
        add(dialogBtn, BorderLayout.SOUTH);
        dialogBtn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ChildDialog cd …
Run Code Online (Sandbox Code Playgroud)

java swing keyboard-layout

7
推荐指数
1
解决办法
2368
查看次数

标签 统计

java ×1

keyboard-layout ×1

swing ×1