如何把多个数字键盘改成只弹出一个??

利用Java swing编写的一个程序,每次点击文本框会弹出一个数字键盘,所以最终程序会有很多个数字键盘,技术菜鸟请求大神给些思路或者办法????

    private JTextField freq = new JTextField();
    private JTextField power = new JTextField();
    private JTextField workTime = new JTextField();
    private JTextField sendTime = new JTextField();
    private JTextField stopTime = new JTextField();
    private JTextField modulationRate = new JTextField();
    private JTextField modulationBrand = new JTextField();

    freq.addMouseListener(new KeyMouseClick(freq));//对频率文本框添加监听事件
    power.addMouseListener(new KeyMouseClick(power));//对功率添加监听事件
    workTime.addMouseListener(new KeyMouseClick(workTime));
    sendTime.addMouseListener(new KeyMouseClick(sendTime));
    stopTime.addMouseListener(new KeyMouseClick(stopTime));
    modulationRate.addMouseListener(new KeyMouseClick(modulationRate));
    modulationBrand.addMouseListener(new KeyMouseClick(modulationBrand));

    //鼠标点击事件类
    public class KeyMouseClick extends MouseAdapter {

        private JTextField jtf ;

        public KeyMouseClick(JTextField jtx) {
            this.jtf = jtx ;
        }
        @Override
        public void mouseClicked(MouseEvent m) {
            new Thread(new NumberKey(jtf)).start();//开启数字键盘线程
           }
        }

        //数字键盘窗口
        public class NumberKey extends JFrame implements Runnable{
            public NumberKey(JTextField jtf) {
            this.tx = jtf ;
            initComponents();//初始化各组件
            }
}

图片说明
图片说明

点击弹出键盘前面加入判断是否存在