我目前正在制作一个程序,使用 RFID 来获取输入并使用 Java Swing 接口显示其信息。
我的问题是我创建了一个函数,它不断检查 RFID 中是否有输入并使用 Swing 显示它,但是我需要在应用程序启动时运行该函数。
*我尝试使用公共功能,但它不能使用jlabel.setText
和其他功能,因为它是在静态上运行的。
我考虑添加一个启动按钮只是为了让轮子转动,但我不喜欢使用任何按钮,以便界面干净。
package com.domain.test;
import java.io.IOException;
import java.io.InputStream;
public class SerialReader implements Runnable {
InputStream in;
public SerialReader(InputStream in) {
this.in = in;
}
public void run() {
byte[] buffer = new byte[1024];
String dataHolder;
String IDnumber = new String();
int incomingData = -1;
int ctr = 0;
try {
while ((incomingData = this.in.read(buffer)) > -1) {
dataHolder = new String(buffer, 0, incomingData);
if (incomingData >= 1) {
ctr++;
IDnumber = IDnumber + dataHolder;
if (IDnumber.length()==14) {
System.out.println(IDnumber);
log display = new log();
display.setLabel(IDnumber.substring(1, IDnumber.length() - 1));
IDnumber = new String();
ctr = 0;
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
我需要做的是将提交给这个函数的数据传递给这个 Swing 函数(setText)。
public void setLabel(String studNum){
sNum = studNum;
jName.setText(sNum);
}
问题是我可以传递数据,但我不能用它来显示在我的界面上。这就是为什么我要问如何创建一个将在应用程序启动时运行的函数(可以与 Swing 通信)。
另外,如果您可以给我另一种方式来了解如何将数据传递给我的 Swing。