62,620
社区成员
发帖
与我相关
我的任务
分享import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class form extends JFrame{
JButton b[];
JButton dot;
JTextField txf;
JPanel jp,jp1;
boolean start;
double first,second;
form(){
start=true;
super.setTitle("test");
jp=new JPanel(new BorderLayout());
jp1=new JPanel(new GridLayout(3,3));
this.setContentPane(jp);
txf=new JTextField(10);
txf.setText("0");
jp.add(txf,"North");
jp.add(jp1,"Center");
dot=new JButton(".");
jp1.add(dot);
ActionListener ac=new click();
b=new JButton[10];
for(int i=0;i<10;i++){
b[i]=new JButton(Integer.toString(i));
b[i].addActionListener(ac);
jp1.add(b[i]);
}
dot.addActionListener(ac);
KeyListener kl=new keyenter();
txf.addKeyListener(kl);
this.pack();
}
public static void main(String[] args){
form my=new form();
my.setVisible(true);
my.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class click extends KeyAdapter implements ActionListener{
public void actionPerformed(ActionEvent e){
Object event=e.getSource();
String str=txf.getText();
//判断开始
if(start){
//如果输入为"."
if(event==dot){
txf.setText(str+".");
}
else
for(int i=0;i<10;i++){
if(event==b[i])
txf.setText(Integer.toString(i));
first=i;
}
start=false;
}
//判断不为开始
else {
//如果第一位不为0
if(str.charAt(0)!=0){
//当输入为数字
for(int i=0;i<10;i++){
if(event==b[i]){
txf.setText(str+Integer.toString(i));
}
}
//如果输入为"."且str中不包含"." 则str中追加.
if(event==dot && str.indexOf(".")==-1){
txf.setText(str+".");
}
//如果输入为"."且str中包含"."则str不变
else if(event==dot && str.indexOf(".")!=-1){
txf.setText(str);
}
}
//如果第一位为0
else{
//当输入为"."且str中不包含"."则str中追加.
if(event==dot && str.indexOf(".")==-1){
txf.setText(str+".");
}
//当输入为"."且str中包含"."则str不变
else if(event==dot && str.indexOf(".")!=-1){
txf.setText(str);
}
for(int i=0;i<10;i++){
//如果输入为数字,且str不包含"."则str变为输入数字
if(event==b[i] && str.indexOf(".")==-1){
txf.setText(Integer.toString(i));
}
//如果输入为数字,切str不包含"."则str追加输入数字
else if(event==b[i] && str.indexOf(".")!=-1){
txf.setText(str+Integer.toString(i));
}
}
}
}
}
}
class keyenter extends KeyAdapter{
public void KeyPressed(KeyEvent e){
if(e.getKeyChar()=='H')
txf.setText("H");
System.out.println(e.getKeyChar());
}
}
}
class HDocument extends PlainDocument {
class HDocument extends PlainDocument {
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if (!str.equalsIgnoreCase("H")) {
super.insertString(offs, str, a);
}
}
}
}
class keyenter extends KeyAdapter{
public void keyPressed(KeyEvent e){
if(e.getKeyCode()=='H')
txf.setText("H");
System.out.println(e.getKeyChar());
}
class keyenter extends KeyAdapter{
public void keyPressed(KeyEvent e){
if(e.getKeyChar()=='H')
txf.setText("H");
System.out.println(e.getKeyChar());
}