资源简介
将一个单词排序程序并进行调试,体会数据流架构风格系统的构件和连接件原理和实现方法。在此基础上,改为通过键盘输入单词排序过滤器实时进行排序输出到屏幕、控制台,并在程序结束后将最终结果写入到文件中。
代码片段和文件信息
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
- 下一篇:通用指纹链接库
相关资源
- ajaxfileupload.js
- 桥接模式的运用
- 毕业课题管理系统
- 极客学院2048游戏项目开发视频及源代
- Demo-docx4j-word.zip
- 安卓视频播放器源码
- 管家婆项目文档讲义含源代码
- 面向对象建模技术课程设计
- 全国空气质量实时检测及预警
- 自制的贪吃蛇游戏(canvas版)自己已
- 经典动态星空图
- 网上购买的SpringBoot2.x整合微信支付在
- 网络计费系统
- 猜数字游戏
- 手机二维码扫描实现原理及代码实现
- 动态生成组织结构树型图
- eclipse下的简单计算器
- Unity3d实现的十字路口的模拟
- Spring的面试题和答案
- springboot整合mongodb
- springboot PPT分享
- 设计学生类Student,属性:编号整型;
-
xm
l——sax解析 极速入门易懂 - 英汉电子小词典程序
- 基于springBoot2.0以上的微信分享接口后
- spring-websocket实时统计报表
- J2ME游戏开发射击
- JS_touch事件dom元素对象垂直滑动与水平
- js实现页面展示图片
- DFA模拟程序
评论
共有 条评论