gpt4 book ai didi

java - Swing 应用程序启动时运行函数(私有(private))

转载 作者:行者123 更新时间:2023-12-01 18:54:54 26 4
gpt4 key购买 nike

我目前正在制作一个程序,使用 RFID 来获取输入并使用 Java Swing 界面显示其信息。

我的问题是,我创建了一个函数来连续检查 RFID 中是否有输入并使用 Swing 显示它,但我需要在应用程序启动时运行该函数。

*我尝试使用公共(public)函数,但它不能使用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。

最佳答案

您可以实现轮询来查找输入

来自http://download.oracle.com/javase/tutorial/uiswing/misc/timer.html

A Swing timer (an instance ofjavax.swing.Timer) fires one or moreaction events after a specified delay.Don't confuse Swing timers with thegeneral-purpose timer facility thatwas added to the java.util package inrelease 1.3. This page describes onlySwing timers.

In general, we recommendusing Swing timers rather thangeneral-purpose timers for GUI-relatedtasks because Swing timers all sharethe same, pre-existing timer threadand the GUI-related task automaticallyexecutes on the event-dispatch thread.However, you might use ageneral-purpose timer if you don'tplan on touching the GUI from thetimer, or need to perform lengthyprocessing.

关于java - Swing 应用程序启动时运行函数(私有(private)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14377206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com