资源简介
将一个单词排序程序并进行调试,体会数据流架构风格系统的构件和连接件原理和实现方法。在此基础上,改为通过键盘输入单词排序过滤器实时进行排序输出到屏幕、控制台,并在程序结束后将最终结果写入到文件中。
![](http://www.nz998.com/pic/56492.jpg)
代码片段和文件信息
package wordsort;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
public class frame {
private static List wordList;
JTextArea output=new JTextArea();
JTextField word = new JTextField(20);
public frame(){
Jframe frame=new Jframe(“单词排序“);
frame.setSize(400550);
frame.setLocation(300200);
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
frame.setLayout(null);
output.setFont(new Font(“宋体“ Font.PLAIN23));
output.setForeground(Color.red);
output.setLineWrap(true);
output.setWrapstyleWord(true);
output.setBounds(13 10 185 300);
frame.add(output);
JScrollPane jsp=new JScrollPane(output);
jsp.setBounds(1310360350);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
frame.add(jsp);
JLabel label=new JLabel(“输入单词:“);
label.setFont(new Font(“宋体“ Font.PLAIN16));
label.setBounds(204008025);
frame.add(label);
word.setFont(new Font(“宋体“ Font.PLAIN20));
word.setBounds(10040026025);
frame.add(word);
Document doc = word.getDocument();
// doc.addDocumentListener((DocumentListener) word);
JButton Button = new JButton(“确定“);
Button.setFont(new Font(“宋体“ Font.PLAIN20));
Button.setBounds(280 450 80 25);
Button.addActionListener(new SortWords());
frame.add(Button);
frame.setVisible(true);
}
private ExecutorService service = Executors.newCachedThreadPool(new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
return new Thread(r “output“);
}
});
class SortWords implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
String[] getTexts=word.getText().split(“ “);
for(String text:getTexts)
{
System.out.println(text);
}
Pipe pipe = new PipeImpl();
Thread wordGenerator = new WordSortGenerator(pipegetTexts);
WordSortFilter wordSortFilter = new WordSortFilter(pipe);
wordGenerator.start();
wordSortFilter.start();
try {
wordSortFilter.join();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
output.setText(“单词排序结果:“+“\n“);
//
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-25 19:46 单词排序\
文件 301 2017-09-25 19:11 单词排序\.classpath
文件 388 2017-09-25 19:11 单词排序\.project
目录 0 2017-09-25 19:11 单词排序\.settings\
文件 598 2017-09-25 19:11 单词排序\.settings\org.eclipse.jdt.core.prefs
目录 0 2017-10-24 12:18 单词排序\bin\
目录 0 2017-11-02 20:48 单词排序\bin\wordsort\
文件 707 2017-11-02 21:02 单词排序\bin\wordsort\fr
文件 2602 2017-11-02 21:02 单词排序\bin\wordsort\fr
文件 2729 2017-11-02 21:02 单词排序\bin\wordsort\fr
文件 232 2017-10-24 12:18 单词排序\bin\wordsort\Pipe.class
文件 915 2017-10-24 12:18 单词排序\bin\wordsort\PipeImpl.class
文件 408 2017-10-24 12:18 单词排序\bin\wordsort\word.class
文件 3376 2017-10-24 12:18 单词排序\bin\wordsort\WordSort.class
文件 1879 2017-10-24 12:18 单词排序\bin\wordsort\WordSortFilter.class
文件 984 2017-10-24 12:18 单词排序\bin\wordsort\WordSortGenerator.class
文件 11 2017-11-02 21:07 单词排序\sortedwords.txt
目录 0 2017-09-25 19:22 单词排序\src\
目录 0 2017-10-21 13:52 单词排序\src\wordsort\
文件 3342 2017-11-02 21:02 单词排序\src\wordsort\fr
文件 162 2017-10-11 23:56 单词排序\src\wordsort\Pipe.java
文件 503 2017-10-11 23:56 单词排序\src\wordsort\PipeImpl.java
文件 156 2017-10-21 13:53 单词排序\src\wordsort\word.java
文件 3331 2017-10-21 13:59 单词排序\src\wordsort\WordSort.java
文件 1353 2017-10-21 14:57 单词排序\src\wordsort\WordSortFilter.java
文件 1090 2017-10-21 15:14 单词排序\src\wordsort\WordSortGenerator.java
文件 13 2017-09-25 19:46 单词排序\words.txt
- 上一篇:高阶奇异值分解HOSVD.rar
- 下一篇:通用指纹链接库
相关资源
- 登录注册界面.zip48872
- 数字华容道
- SSM+Shiro+redis实现单点登陆
- jstl-api-1.2和jstl-impl-1.2
- 基于MVC模式的会员管理系统
- 国内一家大型软件公司内部的正规软
- 仿windows记事本
- GUI银行管理系统
- 超市收银系统eclipse access大学课程设计
- 模拟ATM柜员机系统--连接数据库
- A*算法的2D演示(带源码)
- 代码审查表和代码审查实例
- 仿126 网易 163 邮箱 界面
- Tomcat6.x
- 简单的行编辑器
- 扫雷(MVC架构)
- 302 Found
- window ping命令加时间并记录日志
- springboot+rabbitmq项目demo(亲测可正常运
- jxbrowser 所有版本通用的破解包
- 2017年-传智播客-张志君老师-SpringBoo
- Blob.js+Export2Excel.js
- 机会路由源代码+仿真工具(SCORP)
- POI中文帮助文档附带api手册.zip
- 2018双十一阿里供应链服务平台讲座
- 原银在线信贷平台概要设计说明书v
- office_word_api 开发文档
- sun.misc.Unsafe源码
- netty的视频90集
- Drool最新 中文文档
评论
共有 条评论