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

求教,如何修改程序,在用户输入中输入,不要不需要显示排序前了,按上按钮排序,然后就可以排序

2012-12-28 
求教,怎么修改程序,在用户输入中输入,不要不需要显示排序前了,按下按钮排序,然后就可以排序,import java.a

求教,怎么修改程序,在用户输入中输入,不要不需要显示排序前了,按下按钮排序,然后就可以排序,
求教,如何修改程序,在用户输入中输入,不要不需要显示排序前了,按上按钮排序,然后就可以排序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);
    }
}
[解决办法]

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);
}
}


你看一下这个

热点排行