文本域能解决数据重复的问题吗

etr_bruce etr_bruce 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

/*条码比对程序*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class SNTest extends JFrame{
//创建JPanel对象
private JPanel jp=new JPanel();
private JLabel[] jlArray={new JLabel("产 品 条 码"),new JLabel("保修卡条码"),new JLabel("外 箱 条 码")};
private JTextField jtSum=new JTextField();
private JTextField jtextSN1=new JTextField();
private JTextField jtextSN2=new JTextField();
private JTextField jtextSN3=new JTextField();
private JTextArea jta=new JTextArea();
//构造方法
public SNTest(){
jp.setLayout(null);
jlArray[0].setBounds(30, 20, 80, 26);
jp.add(jlArray[0]);
jlArray[1].setBounds(30, 60, 80, 26);
jp.add(jlArray[1]);
jlArray[2].setBounds(30, 100, 80, 26);
jp.add(jlArray[2]);


jtextSN1.setBounds(100,20,180,26);
//jtextSN1.setText("219801A0E0173000016");
jp.add(jtextSN1);
jtextSN2.setBounds(100,60,180,26);
jp.add(jtextSN2);
jtextSN3.setBounds(100,100,180,26);
jp.add(jtextSN3);
jta.setBounds(100, 140, 180, 320);
jp.add(jta);
jtSum.setBounds(100,465,180, 26);
jp.add(jtSum);
//注册事件监听者
jtextSN1.addActionListener(new Listener());
jtextSN2.addActionListener(new Listener());
jtextSN3.addActionListener(new Listener());
jtSum.addActionListener(new Listener());


//加载窗体
this.add(jp);
this.setTitle("条码比对程序");
this.setResizable(false);
this.setBounds(500, 100, 320, 530);
this.setVisible(true);

//将显示比对数据的文本域与显示总行数的文本框置于不可编辑状态
jta.setEditable(false);
jtSum.setEditable(false);
}
//定义监听者类,并实现接口中的方法
public class Listener implements ActionListener{
//实现actionPerformed()方法处理事件
public void actionPerformed(ActionEvent e){
String s1="",s2="",s3="";
if(jta.getLineCount()>100){
JOptionPane.showMessageDialog(null, "对不起,已超过100行!");
jtextSN1.setText("");
jtextSN2.setText("");
jtextSN3.setText("");
return;
}
s1=jtextSN1.getText();
s2=jtextSN2.getText();
s3=jtextSN3.getText();
int i=jta.getLineCount();

//条码输入光标移位,条码比对
if(s1.equals("")){
jtextSN1.requestFocus();
}else if(s2.equals("")){
jtextSN2.requestFocus();
}else if(s3.equals("")){
jtextSN3.requestFocus();
}else if(s1.equals(s2)&&s2.equals(s3)){
//将文本框中内容转换为大写
String sn=s3.toUpperCase();
//将文本框中的内容添加到文本域中
jta.append(sn+"\n");
//JOptionPane.showMessageDialog(null, "已录入第"+i+"行");
//显示扫入的总行数
jtSum.setText("共扫入"+i+"行");

jtextSN3.setText("");
jtextSN2.setText("");
jtextSN1.setText("");
jtextSN1.requestFocus();
}else{
JOptionPane.showMessageDialog(null, "条码比对错误!","错误",JOptionPane.WARNING_MESSAGE);
jtextSN1.setText("");
jtextSN2.setText("");
jtextSN3.setText("");
jtextSN1.requestFocus();
}

//思考条码重复如何解决
//String j1=jta.getText();
}
}

public static void main(String[] args){
SNTest st=new SNTest();
}
}

...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
etr_bruce
Java SE 62,620 成员 307,251 内容