我想在JFram上显示一个数组,并对这个数组进行排序,一个TextField用来输入数组,一个Botton用执行排序命令,另一个TextField用来输出排好序的数组, 我是这么做的,import java.io.*;
import java.text.*;
import java.util.*;
import javax.swing.*;public class SortIt extends JFrame {public static void main(String args[]) {// Create frame to display sortings
JFrame frame = new JFrame("Sorting");
setSize(400,300);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
} );
JTextField TextField1 = new JTextField();
private JButton Button = new JButton("排序");
JTextField TextField2 = new JTextField();String st =TextField1.getText();// Create initial list to sort
StringTokenizer st = new StringTokenizer("123 234 345", " "); // 以空格来分隔数字
int[] array = new int[20]; // 这里最好是先经过st中的数字个数来计算,简单起见直接给个20
int index = 0;
while (st.hasMoreElements()) {
array[index++] = Integer.parseInt(st.nextToken());
}Button.addActionListener(
new ActionListener()
{ public void actionPerformed(ActionEvent event)
{
Arrays.sort(array);
TextField2. setText()= Arrays.asList(array) ;}
});
frame.pack();
frame.show();
}
}
但是不对,请前辈们帮我改正确,十分感谢!
import java.text.*;
import java.util.*;
import javax.swing.*;public class SortIt extends JFrame {public static void main(String args[]) {// Create frame to display sortings
JFrame frame = new JFrame("Sorting");
setSize(400,300);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
} );
JTextField TextField1 = new JTextField();
private JButton Button = new JButton("排序");
JTextField TextField2 = new JTextField();String st =TextField1.getText();// Create initial list to sort
StringTokenizer st = new StringTokenizer("123 234 345", " "); // 以空格来分隔数字
int[] array = new int[20]; // 这里最好是先经过st中的数字个数来计算,简单起见直接给个20
int index = 0;
while (st.hasMoreElements()) {
array[index++] = Integer.parseInt(st.nextToken());
}Button.addActionListener(
new ActionListener()
{ public void actionPerformed(ActionEvent event)
{
Arrays.sort(array);
TextField2. setText()= Arrays.asList(array) ;}
});
frame.pack();
frame.show();
}
}
但是不对,请前辈们帮我改正确,十分感谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货