首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请大家帮小弟我看看小弟我写的程序啊

2012-01-13 
请大家帮我看看我写的程序啊!这是我写好的程序,但是为什么在运行出来的时候我在jt1和jt2里面输入了数字之

请大家帮我看看我写的程序啊!
这是我写好的程序,但是为什么在运行出来的时候我在jt1和jt2里面输入了数字之后为什么在jt3里没有反应啊!没有达到我的预期效果啊!
import   javax.swing.*;
import   java.awt.*;
import   java.awt.event.*;
import   java.lang.*;
import   java.util.ArrayList.*;
import   java.util.*;

public   class   Xingzuo   extends   JFrame{
private   JLabel   jl1   =   new   JLabel( "月 ");
private   JLabel   jl2   =   new   JLabel( "日 ");
private   JLabel   jl3   =   new   JLabel( "星座 ");
private   JTextField  
          jt1   =   new   JTextField(15),
          jt2   =   new   JTextField(15),
          jt3   =   new   JTextField(15);
   
private   JPanel   panel   =   new   JPanel();
int[]   a   =   new   int[20];
java.util.List <Integer>   b   =   new   ArrayList <Integer> ();  
int[]   c   =   new   int[30];

public   Xingzuo(String   title){
super(title);
panel.setLayout(new   FlowLayout())   ;
panel.add(jl1);
panel.add(jt1);
panel.add(jl2);
panel.add(jt2);
panel.add(jl3);
panel.add(jt3);

Container   contentPane   =   getContentPane();
contentPane.setLayout(new   FlowLayout());
contentPane.add(panel);
jt1.addActionListener(new   ActionListener1());
jt2.addActionListener(new   ActionListener2());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setSize(800,200);
setVisible(true);
}
class   ActionListener1   implements   ActionListener{
public   void   actionPerformed(ActionEvent   event){
for(int   i=1;i <=12;i++)
a[i-1]=i;
}
}   //我想可能是事件的处理问题吧!

class   ActionListener2   implements   ActionListener{
public   void   actionPerformed(ActionEvent   e){
Iterator   it   =   b.iterator();
for(int   j=1;j <=21;j++){
c[j-1]=j;
b.add(new   Integer(c[j-1]));
}

if(jt1.getText().equals(new   Integer(a[0]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))  
jt3.setText( "mijie ");
}
jt3.setText( "shuiping ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[1]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[2]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[3]))){


        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[4]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[5]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[6]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[7]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[8]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[9]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        if(jt1.getText().equals(new   Integer(a[10]))){
        while(it.hasNext()){
        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
        else
        {
        while(it.hasNext()){


        if(jt2.getText().equals(it.next()))
        jt3.setText( " ");
        }
        jt3.setText( " ");
        }
}
  }
  public   static   void   main(String[]   args){
Xingzuo   xingzuo   =   new   Xingzuo( "hello ");
}        
}


谢谢,帮我看看啊!


[解决办法]
帮楼主修改了一下,你要在文本框的文本改变触发事件。你用的不对,你的方法里面有问题,楼主自己改吧。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.util.ArrayList.*;
import java.util.*;
import javax.swing.event.*;

public class Xingzuo extends JFrame{
private JLabel jl1 = new JLabel( "月 ");
private JLabel jl2 = new JLabel( "日 ");
private JLabel jl3 = new JLabel( "星座 ");
private JTextField
jt1 = new JTextField(15),
jt2 = new JTextField(15),
jt3 = new JTextField(15);

private JPanel panel = new JPanel();
int[] a = new int[20];
java.util.List <Integer> b = new ArrayList <Integer> ();
int[] c = new int[30];

public Xingzuo(String title){
super(title);
panel.setLayout(new FlowLayout()) ;
panel.add(jl1);
panel.add(jt1);
panel.add(jl2);
panel.add(jt2);
panel.add(jl3);
panel.add(jt3);

Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
contentPane.add(panel);
//jt1.addActionListener(new ActionListener1());
//jt2.addActionListener(new ActionListener2());
DocumentListener listener1 = new ActionListener1();
DocumentListener listener2 = new ActionListener2();
jt1.getDocument().addDocumentListener(listener1);
jt2.getDocument().addDocumentListener(listener2);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setSize(800,200);
setVisible(true);
}
class ActionListener1 implements DocumentListener{


public void insertUpdate(DocumentEvent e){settext1();}
public void removeUpdate(DocumentEvent e){settext1();}
public void changedUpdate(DocumentEvent e){ }

}
public void settext1()
{
for(int i=1;i <=12;i++)
a[i-1]=i;
}
public void settext2()
{
Iterator it = b.iterator();
for(int j=1;j <=21;j++){
c[j-1]=j;
b.add(new Integer(c[j-1]));
}

if(jt1.getText().equals(new Integer(a[0]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( "mijie ");
}
jt3.setText( "shuiping ");
}
else
if(jt1.getText().equals(new Integer(a[1]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[2]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[3]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[4]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");


}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[5]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[6]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[7]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[8]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[9]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
if(jt1.getText().equals(new Integer(a[10]))){
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
else
{
while(it.hasNext()){
if(jt2.getText().equals(it.next()))
jt3.setText( " ");
}
jt3.setText( " ");
}
}

class ActionListener2 implements DocumentListener{
public void insertUpdate(DocumentEvent e){settext2();}
public void removeUpdate(DocumentEvent e){settext2();}
public void changedUpdate(DocumentEvent e){ }
}
public static void main(String[] args){
Xingzuo xingzuo = new Xingzuo( "hello ");
}
}

[解决办法]
建议楼主重写吧.......
[解决办法]
代码中实现的事件监听器好像需要按ENTER键才可触发

热点排行