利用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();//初始化各组件
}
}
加个判断:是否已经弹出,如果弹出了就不再重复弹出。不知道可否实现。
好的,我想想
如果你只要弹出一个数字键盘,可以考虑单利模式
你这在线程里开启,还没关闭
为什么要new这么多~你new一个就好了啊!!