myframe.java
来自「多线程与并发处理是程序设计好坏优劣的重要课题」· Java 代码 · 共 80 行
JAVA
80 行
import java.io.IOException;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingUtilities;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import activeobject.ActiveObjectFactory;
import activeobject.ActiveObject;
import activeobject.Result;
public class MyFrame extends JFrame implements ActionListener {
private final JTextField textfield = new JTextField("word", 10);
private final JButton button = new JButton("Search");
private final JTextArea textarea = new JTextArea(20, 30);
private final ActiveObject activeObject = ActiveObjectFactory.createActiveObject();
private final static String NEWLINE = System.getProperty("line.separator");
public MyFrame() {
super("ActiveObject Sample");
getContentPane().setLayout(new BorderLayout());
// North
JPanel north = new JPanel();
north.add(new JLabel("Search:"));
north.add(textfield);
north.add(button);
button.addActionListener(this);
// Center
JScrollPane center = new JScrollPane(textarea);
// Layout
getContentPane().add(north, BorderLayout.NORTH);
getContentPane().add(center, BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
// [Search]按钮被按着时
public void actionPerformed(ActionEvent e) {
searchWord(textfield.getText());
}
// 显示
private void println(String line) {
textarea.append(line + NEWLINE);
}
// 搜寻
private void searchWord(final String word) {
// 搜寻的呼叫
final Result result = activeObject.search(word);
println("Searching " + word + "...");
// 等待搜寻结果的执行绪
new Thread() {
public void run() {
// 等待结果
final String url = (String)result.getResultValue();
// 获得结果了,请Event Dispatching Thread予以显示
SwingUtilities.invokeLater(
new Runnable() {
public void run() {
MyFrame.this.println("word = " + word + ", URL = " + url);
}
}
);
}
}.start();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?