//我的功能要实现在文本里输入字母,然后排序,排序不管用,大家来帮我看看
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class Abc extends Applet implements ActionListener
{
 Label prompt = new Label("请输入要排序的字母:");
 TextField input = new TextField(10);
 Button sortbtn = new Button("排序");
 char[] c = new char[5];
 int tmp;
 int i = 0;
 String dui; public void init()
 {
add(prompt);
add(input);
add(sortbtn);
input.addActionListener(this);
sortbtn.addActionListener(this);
 }
 public void actionPerformed(ActionEvent e)
 {
if(e.getSource()==input)
{       
                 
                 while((tmp = Integer.parseInt(input.getText()))!=-1) 
                 {
                 c[i++] = (char)tmp;
                 input.setText("");
                 if(i==c.length)
                 break;
                 }
}
if(e.getActionCommand() == "排序")
{      input.setText("ok");
               Arrays.sort(c);
               for(i=0; i<c.length; i++)
               {   
                  dui=dui+c[i];               
               }
               input.setText(dui);
}
 }
}

解决方案 »

  1.   

    //if(e.getActionCommand() == "排序")
    //建议不要用中文的,直接e.getSource()==sortbtn不好吗import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;public class Abc extends Applet implements ActionListener {
        Label prompt = new Label("请输入要排序的字母:");    TextField input = new TextField(10);    Button sortbtn = new Button("排序");    char[] c = new char[5];    int tmp;    int i = 0;    String dui;    public void init() {
            add(prompt);
            add(input);
            add(sortbtn);
            input.addActionListener(this);
            sortbtn.addActionListener(this);
        }    public void actionPerformed(ActionEvent e) {
            /*if (e.getSource() == input) {            while ((tmp = Integer.parseInt(input.getText())) != -1) {
                    c[i++] = (char) tmp;
                    input.setText("");
                    if (i == c.length)
                        break;
                }
            }*/
            c = input.getText().toCharArray();
            if (e.getActionCommand() == "排序") {
                input.setText("ok");
                Arrays.sort(c);
                dui = new String();
                for (i = 0; i < c.length; i++) {
                    dui = dui + c[i];
                }
                input.setText(dui);
            }
        }
    }
      

  2.   

    e.getActionCommand() == "排序"改为
    "排序".equals(e.getActionCommand())
      

  3.   

    e.getActionCommand() == "排序"改为
    "排序".equals(e.getActionCommand())
    --------------这个改不改都一样
      

  4.   

    我发现了,是e.getSource()==input里有问题,数组没有取输入的值,怎样改才能取值?(50分相送)import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    public class Abc extends Applet implements ActionListener
    {
     Label prompt = new Label("请输入要排序的5个字母:");
     TextField input = new TextField(10);
     Button sortbtn = new Button("排序");
     char[] c = new char[5];
     int tmp;
     int i = 0;
     String dui; public void init()
     {
    add(prompt);
    add(input);
    add(sortbtn);
    input.addActionListener(this);
    sortbtn.addActionListener(this);
     }
     public void actionPerformed(ActionEvent e)
     {
    if(e.getSource()==input)
    {       
                     
                     while((tmp = Integer.parseInt(input.getText()))!=-1) 
                     {
                     c[i++] = (char)tmp;
                     input.setText("");
                     if(i==c.length)
                     break;
                     }                 
    }
    if(e.getSource()==sortbtn)
    {          
                   Arrays.sort(c);
                   for(i=0; i<c.length; i++)
                   {   
                      dui=dui+c[i];               
                   }
                   input.setText(dui);
    }
     }
    }
      

  5.   

    import java.applet.Applet;
    import java.awt.Button;
    import java.awt.Label;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Arrays;public class Abc extends Applet implements ActionListener {
    /**
     * 
     */
    private static final long serialVersionUID = 8541956991225539797L; Label prompt = new Label("请输入要排序的字母:"); TextField input = new TextField(10); Button sortbtn = new Button("排序"); char[] c = new char[5]; int tmp; int i = 0; public void init() {
    add(prompt);
    add(input);
    add(sortbtn);
    input.addActionListener(this);
    sortbtn.addActionListener(this);
    } public void actionPerformed(ActionEvent e) { if (e.getActionCommand() == "排序") { while (i < input.getText().length()) {
    c[i] = input.getText().charAt(i);
    i++;
    } Arrays.sort(c);
    StringBuffer sb = new StringBuffer();
    for (i = 0; i < c.length; i++) {
    sb.append(c[i]);
    }
    input.setText(sb.toString());
    i = 0;
    }
    }
    }