import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.event.*;
import javax.swing.*;public class Frame1 extends JFrame {
    JPanel contentPane;
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JLabel jLabel4 = new JLabel();
    JTextField txt1 = new JTextField();
    JTextField txtOrder = new JTextField();
    JTextField txtIn = new JTextField();
    JButton btn1 = new JButton();
    public Frame1() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        setSize(new Dimension(457, 432));
        setTitle("排序");
        jLabel1.setText("排序前");
        jLabel1.setBounds(new Rectangle(30, 99, 59, 36));
        jLabel2.setText("排序后");
        jLabel2.setBounds(new Rectangle(27, 183, 66, 36));
        jLabel4.setText("用户输入");
        jLabel4.setBounds(new Rectangle(28, 35, 71, 36));
        txt1.setBounds(new Rectangle(116, 182, 307, 33));
        txtOrder.setBounds(new Rectangle(118, 106, 307, 37));
        txtIn.setText("请输入数字,并按回车键。一次只能输入一个数字");
        txtIn.setBounds(new Rectangle(116, 37, 306, 39));
        txtIn.addKeyListener(new Frame1_txtIn_keyAdapter(this));
        btn1.setBounds(new Rectangle(28, 327, 162, 42));
        btn1.setText("排序");
        btn1.addActionListener(new Frame1_btn1_actionAdapter(this));
        contentPane.add(jLabel4);
        contentPane.add(jLabel1);
        contentPane.add(txtOrder);
        contentPane.add(jLabel2);
        contentPane.add(txt1);
        contentPane.add(txtIn);
        contentPane.add(btn1);
        
    }
    int[] Number1=new int[10];
    int[] Number2=new int[10];
    int i=0;
    public void txtIn_keyPressed(KeyEvent e) {
        try{  
            if(e.getKeyChar()=='\n'){
                Number1[i]=Integer.parseInt(txtIn.getText().trim());
                Number2[i]=Integer.parseInt(txtIn.getText().trim());
                String txt=txtOrder.getText().trim();
                txtOrder.setText(txt+txtIn.getText().trim()+",");
                txtIn.setText("");
                txtIn.requestFocus(true);
                if(++i>10){
                    JOptionPane.showMessageDialog(this,"只能输入10个整数!");
                    txtIn.setText("");
                    return;
                }
            }            
        }catch(Exception ex){
            JOptionPane.showMessageDialog(this,ex.getMessage());
            txtIn.setText("");
            ex.printStackTrace();
        }
    }
    public  void select_Sort(int[] num) 
    { 
    int i,j,MX; 
    int temp; 
    for(i = 0; i<num.length-1; i++) 
    { 
    MX = i ; 
    for(j = i+1 ; j<num.length; j++) 
    { 
    if(num[MX] < num[j]) 
    MX = j ; 
    } 
    temp = num[i]; 
    num[i] = num[MX]; 
    num[MX] = temp; 
    } 
}     public void btn1_actionPerformed(ActionEvent e) {
        txt1.setText("");
        select_Sort(Number1);
        for(int j=0;j<Number1.length;j++){
            String txt=txt1.getText().trim();
            txt1.setText(txt+Number1[j]+",");
        }
    }
   
  
    public static void main(String[] arges){
        Frame1 F=new Frame1();
        F.setVisible(true);
    }
}class Frame1_btn1_actionAdapter implements ActionListener {
    private Frame1 adaptee;
    Frame1_btn1_actionAdapter(Frame1 adaptee) {
        this.adaptee = adaptee;
    }    public void actionPerformed(ActionEvent e) {
        adaptee.btn1_actionPerformed(e);
    }
}
class Frame1_txtIn_keyAdapter extends KeyAdapter {
    private Frame1 adaptee;
    Frame1_txtIn_keyAdapter(Frame1 adaptee) {
        this.adaptee = adaptee;
    }    public void keyPressed(KeyEvent e) {
        adaptee.txtIn_keyPressed(e);
    }
}

解决方案 »

  1.   

    import java.awt.Dimension;
    import java.awt.Rectangle;
    import java.awt.event.*;
    import javax.swing.*;public class Test extends JFrame {
    JPanel contentPane;

    JLabel jLabel2 = new JLabel();
    JLabel jLabel4 = new JLabel();
    JTextField txt1 = new JTextField();
    JTextField txtIn = new JTextField();
    JButton btn1 = new JButton(); public Test() {
    try {
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    jbInit();
    } catch (Exception exception) {
    exception.printStackTrace();
    }
    } private void jbInit() throws Exception {
    contentPane = (JPanel) getContentPane();
    contentPane.setLayout(null);
    setSize(new Dimension(457, 432));
    setTitle("排序");
    jLabel2.setText("排序后");
    jLabel2.setBounds(new Rectangle(27, 183, 66, 36));
    jLabel4.setText("用户输入");
    jLabel4.setBounds(new Rectangle(28, 35, 71, 36));
    txt1.setBounds(new Rectangle(116, 182, 307, 33));
    txtIn.setText("请输入数字,并按回车键结束。一次只能输入一个数字");
    txtIn.setBounds(new Rectangle(116, 37, 306, 39));
    txtIn.addKeyListener(new Frame1_txtIn_keyAdapter(this));
    btn1.setBounds(new Rectangle(28, 327, 162, 42));
    btn1.setText("排序");
    btn1.addActionListener(new Frame1_btn1_actionAdapter(this));
    contentPane.add(jLabel4);
    contentPane.add(jLabel2);
    contentPane.add(txt1);
    contentPane.add(txtIn);
    contentPane.add(btn1);
    } int[] Number1 = new int[10];
    int i = 0;
    String[] num1 = new String[10];
    public void txtIn_keyPressed(KeyEvent e) {
    try {
    if (e.getKeyChar() == '\n') {
    num1[i] = txtIn.getText().trim();
    txtIn.setText(num1[i]+",");
    txtIn.requestFocus(true);
    if (++i > 10) {
    JOptionPane.showMessageDialog(this, "只能输入10个整数!");
    txtIn.setText("");
    return;
    }
    }
    } catch (Exception ex) {
    JOptionPane.showMessageDialog(this, ex.getMessage());
    txtIn.setText("");
    ex.printStackTrace();
    }
    } public void select_Sort(int[] num) {
    int i, j, MX;
    int temp;
    for (i = 0; i < num.length - 1; i++) {
    MX = i;
    for (j = i + 1; j < num.length; j++) {
    if (num[MX] < num[j])
    MX = j;
    }
    temp = num[i];
    num[i] = num[MX];
    num[MX] = temp;
    }
    } public void btn1_actionPerformed(ActionEvent e) {
    txt1.setText("");
    if(i>0&&num1[i-1]==null){
    JOptionPane.showMessageDialog(this, "请输入数字");
    txtIn.setText("");
    return;
    }
    num1 = num1[i-1].split(",");
    for(int x=0;x<num1.length;x++){
    Number1[x]=Integer.parseInt(num1[x]);
    }
    select_Sort(Number1);
    for (int j = 0; j < Number1.length; j++) {
    String txt = txt1.getText().trim();
    txt1.setText(txt + Number1[j] + ",");
    }
    } public static void main(String[] arges) {
    Test F = new Test();
    F.setVisible(true);
    }
    }class Frame1_btn1_actionAdapter implements ActionListener {
    private Test adaptee; Frame1_btn1_actionAdapter(Test adaptee) {
    this.adaptee = adaptee;
    } public void actionPerformed(ActionEvent e) {
    adaptee.btn1_actionPerformed(e);
    }
    }class Frame1_txtIn_keyAdapter extends KeyAdapter {
    private Test adaptee; Frame1_txtIn_keyAdapter(Test adaptee) {
    this.adaptee = adaptee;
    } public void keyPressed(KeyEvent e) {
    adaptee.txtIn_keyPressed(e);
    }
    }
    你看一下这个
      

  2.   

    还是有缺陷,能不能用StringTokenizer类呢?自动获取字符