package scanapp;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
/**
* Swing界面
* @author lizh
*
*/
public class ScanFileldTextAction extends JFrame implements ActionListener, KeyListener {
private static final long serialVersionUID = 8482328410490638424L;
private JTextField inputText;
private JTextArea areaText;
private int keyCode;
public ScanFileldTextAction() {
//初始化组件
initComponents();
}
/**
* 扫描窗口
*/
public void initComponents() {
JFrame jFrame = new JFrame("数据读取..");
jFrame.setBounds(450, 200, 650,400);
jFrame.setResizable(false);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contaier = jFrame.getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
contaier.setLayout(layout);
JTextField ltext = new JTextField("读取内容:", 10);
ltext.setEditable(false);
contaier.add(ltext);
inputText = new JTextField("", 45);
inputText.addActionListener(this);
inputText.addKeyListener(this);
contaier.add(inputText);
areaText = new JTextArea("", 16, 56);
areaText.setEditable(false);
JScrollPane jscroll = new JScrollPane(areaText);
contaier.add(jscroll);
jFrame.setVisible(true);
//获得焦点
inputText.requestFocus();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == inputText) {
new ScanDataService(this).write(inputText.getText());
//System.out.println(areaText.getText());
//如果是回车,则清空前一次内容
if (keyCode == KeyEvent.VK_ENTER) {
inputText.setText("");
}
}
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
keyCode = e.getKeyCode();
//System.out.println("keyPressed:" + keyCode);
}
@Override
public void keyReleased(KeyEvent e) {
//System.out.println("keyReleased:" + e.getKeyCode());
}
/**
* 添加文本监控事件
*/
public void documentListener() {
//输入框文本监测事件
inputText.getDocument().addDocumentListener(new InputTextDocumentListener(this));
}
public JTextField getInputText() {
return inputText;
}
public void setInputText(JTextField inputText) {
this.inputText = inputText;
}
public JTextArea getAreaText() {
return areaText;
}
public void setAreaText(JTextArea areaText) {
this.areaText = areaText;
}
}