输入数字二以后按回车就可以计算出结果了。。。
public class Test1 extends JFrame implements KeyListener{
JLabel jp1 = new JLabel("数字一:");
JLabel jp2 = new JLabel("数字二:");
JTextField t1 = new JTextField();
JTextField t2 = new JTextField();
JButton b1 = new JButton("计 算");
JLabel jl = new JLabel();
/**
* 构造函数
*/
public Test1(){
init();
}
/**
* 初始化方法
*/
public void init(){
this.setTitle("鼠标测试");
this.setSize(new Dimension(400,300));
jp1.setSize(new Dimension(250,25));
t1.setPreferredSize(new Dimension(120,25));
jp2.setSize(new Dimension(250,25));
t2.setPreferredSize(new Dimension(120,25));
jl.setSize(new Dimension(400,50));
this.setLayout(new FlowLayout());
this.add(jp1);
this.add(t1);
this.add(jp2);
this.add(t2);
this.add(jl);
this.setVisible(true);
t2.addKeyListener(this);
}
public int count(int x,int y){
int max = 0;
if(x==y)
{
max=x;//如果2个数相等,则最大公约数为他们本身
}
else if(x
{
for(int i=1;i<=x;i++)
{
if(x%i==0&&y%i==0)
{
max=i;
}
}
}
else
{
for(int i=1;i<=y;i++)
{
if(y%i==0&&x%i==0)
{
max=i;
}
}
}
return max;
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==10 && e.getSource() == t2){
jl.setText("输入的2个数字最大公约数是:" +
""+count(Integer.parseInt(t1.getText()),Integer.parseInt(t2.getText())));
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
public static void main(String args[]){
new Test1();
}
}