JTextField tx1=new JtextField(10);
JTextField tx2=new JtextField(10);
JButton bt1=new JButton("a");
....
bt1.addActionListener(al);
ActionListener al=new ActionListener()
{
.....(event e)
{
/*
这里想用tx1.getText()然后把字符串转化成数组,进行一个算法if(e.getSource()==bt1).....;,然后再转回String在tx2.setText()显示出来.
用到getChars()与String.valueOf();ECLIPSE检查语法没错误.运行后点bt1会报异常.大概意思好象是UNKNOW SOURCE
*/
}};代码暂时发不上来.请问这是什么问题?

解决方案 »

  1.   

    //源码是这个...可能写的比较菜.请指教.异常写在下一帖.package test2;
    import javax.swing.*;
    import java.awt.event.*;
    public class IoGUI extends JFrame{
    JPanel pane;
    JButton button1,button2;
    JTextField text1,text2;
    JLabel title;
    String str="C:\\Documents and Settings\\桌面\\PIC\\";
    IoGUI()
    {super();
    pane=new JPanel();
    this.getContentPane().add(pane);
    title=new JLabel(new ImageIcon(str+"sister.jpg"));
    text1=new JTextField(10);
    text2=new JTextField(10);
    button1=new JButton("计算");
    button2=new JButton("concel");
    ActionListener al=new ActionListener()
    {
    public void actionPerformed(ActionEvent e) {
    if(e.getSource()==button1){
    String in= text1.getText
    if(in==null) JOptionPane.showMessageDialog(null,"Please in put");

    int len=in.length();
    char ch[]=new char[len];
    char si[]=new char[100];
    si[0]=ch[0];
    in.getChars(0,len,ch,0);
    while(ch[len-1]!='\0')
    {if(ch[len]==si[0])
    {ch[len]='A'; 
    break;}
    else if(len==0)break;
    else len-=1;
    }



    String string=String.valueOf(ch);
    text2.setText(string);
    }
    if(e.getSource()==button2)JOptionPane.showMessageDialog(null,"Good bye");
    System.exit(0);
    }

    };
    button1.addActionListener(al);
    button2.addActionListener(al);
    pane.add(title);
    pane.add(text1);pane.add(text2);
    pane.add(button1);pane.add(button2);
    setVisible(true);
    setSize(700,600);
    setLocation(200,200);
    setResizable(false);
    }
    public static void main(String[] args) {
    new IoGUI(); }}
      

  2.   

    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 5
    at test2.IoGUI$1.actionPerformed(IoGUI.java:32)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
      

  3.   

    if(e.getSource()==button1){
    String   in=   text1.getText
    if(in==null)   JOptionPane.showMessageDialog(null,"Please   in   put"); 这里有点小错误
    然后运行程序没有报异常,不过就出现一个panel,上面什么都没有,应该不是楼主期待的,
    所以楼主的代码的界面还没做好
    界面做好再加上事件吧。
      

  4.   

    while(ch[len-1]!='\0') 
    {if(ch[len]==si[0]) 
    {ch[len]='A';   
    break;} 
    else   if(len==0)break; 
    else   len-=1; 
    } 越界了
    改成这样
    import   javax.swing.*;
    import java.awt.*;
    import   java.awt.event.*; 
    public   class   Test   extends   JFrame{ 
    JPanel   pane; 
    JButton   button1,button2; 
    JTextField   text1,text2; 
    JLabel   title; 
    String   str="C:\\Documents   and   Settings\\桌面\\PIC\\"; 
    Test() 
    {super(); 
    pane=new   JPanel(); 
    Container con=getContentPane();
    title=new   JLabel(new   ImageIcon(str+"sister.jpg")); 
    text1=new   JTextField(10); 
    text2=new   JTextField(10); 
    button1=new   JButton("计算"); 
    button2=new   JButton("concel"); ActionListener   al=new   ActionListener() 

    public   void   actionPerformed(ActionEvent   e)   { 
    if(e.getSource()==button1){ 
    String   in=   text1.getText() ;
    if(in==null)   JOptionPane.showMessageDialog(null,"Please   in   put"); int   len=in.length(); 
    char   ch[]=in.toCharArray();char   si[]=new   char[len]; 
    si[0]=ch[0]; 
    in.getChars(0,len,ch,0); 
    while(ch[len-1]!='\0') 
    {if(ch[len-1]==si[0]) 
    {ch[len-1]='A';   
    break;} 
    else   if(len==0)break; 
    else   len-=1; 
    } String   string=String.valueOf(ch); 
    text2.setText(string); 

    if(e.getSource()==button2)
    {
    JOptionPane.showMessageDialog(null,"Good   bye"); 
        System.exit(0);
    }
    } }; 
    button1.addActionListener(al); 
    button2.addActionListener(al); 
    pane.add(title); 
    pane.add(text1);pane.add(text2); 
    pane.add(button1);pane.add(button2); 
     con.add(pane); 
    setSize(700,600); 
    setLocation(200,200); 
    setResizable(false); 
    setVisible(true);

    public   static   void   main(String[]   args)   { 
    new   Test(); } }
      

  5.   

    是超了.但是好象不是我这个异常吧.
    现在在别人的机器上。调不了...
    6楼能解释下么?我这里都能出来.有图片BUTTON,和TEXT.
    点button1就显示有异常.