我想在JFram上显示一个数组,并对这个数组进行排序,请高手帮我改一下我写的程序。
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.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
public class SortIt extends JFrame
{
private JButton button;
private JTextField textField1,textField2;
public SortIt()
{
this.setSize(400,300);
this.setLayout(new BorderLayout());
textField1 = new JTextField();
textField2 = new JTextField();
button = new JButton( "排序 ");
this.add(textField1,BorderLayout.NORTH);
this.add(button,BorderLayout.CENTER);
this.add(textField2,BorderLayout.SOUTH);
button.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
sortStr(textField1, textField2);
}
}
);
}
public void sortStr(JTextField j1,JTextField j2)
{
StringTokenizer st = new StringTokenizer(textField1.getText(), " ");
ArrayList <Integer> array=new ArrayList <Integer> ();
while (st.hasMoreElements())
{
array.add(Integer.parseInt(st.nextToken()));
}
Collections.sort(array);
j2.setText(array.toString());
}
public static void main(String[] args)
{
SortIt si=new SortIt();
si.setVisible(true);
si.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
有段时间不用这些了,就当复习了,有问题大家指出来