虽然java实验考试已经结束,不是很满意,GUI学的不好,尤其是各个组件的布局和添加到容器,事件处理,然而还有个很重要的原因,由于意外情况,她明天要补考!不想她挂科!!!懂的都懂…
回到正题,这段代码的功能很简单,把单词排序与GUI结合起来,达到对用户更友好的目的!
代码如下:
//单词排序窗口版
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Arrays;
public class wordsort {
public static void main(String[] args) {
// TODO Auto-generated method stub
Frame f=new Frame("单词排序(输入以’,‘分割的单词)"); //创建一个窗体对象
Panel p=new Panel();//创建一个画板
p.add(new Label("排序前:")); //部件label
TextField tf1=new TextField(30); //部件textfild
p.add(new Label("排序后:"));
TextField tf2=new TextField(30);
p.add(tf1);
p.add(tf2); //这个画板共加上了四个基本的部件
p.setLayout(new GridLayout(2,2)); //设置画板的布局格式为2*2的网格形布局
f.add(p,BorderLayout.CENTER); //设置画板在窗口中的布局格式为中心布局
Button btn=new Button("排序");
f.add(btn,BorderLayout.NORTH); //给窗口添加部件 按钮,布局方式在窗口的北部,即上方
f.setVisible(true);
f.pack(); //调整此窗口的大小,以适合其子组件的首选大小和布局。
btn.addActionListener(new ActionListener() { //重点!给按钮添加事件
@Override
public void actionPerformed(ActionEvent arg0) { //只要点击按钮就会执行该方法里的代码
// TODO Auto-generated method stub
String str=tf1.getText(); //gettext方法,获取tf1文本框里的输入,然后赋值给str变量
String[] words=str.split(","); //往文本框里输入单词的时候,我是以是以空格为分隔符的
Arrays.sort(words); //字典排序
String result="";
System.out.println("排序后为:");
for (int i = 0; i < words.length; i++) {
System.out.println(words[i]);
result=result+words[i]+" ";
}
tf2.setText(result); //在tf2文本框里显示结果
}
});
f.addWindowListener(new WindowAdapter() { //事件关闭处理事件
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
}
}
结果如下: