gpt4 book ai didi

Java程序不是调用方法

转载 作者:行者123 更新时间:2023-12-01 22:14:53 24 4
gpt4 key购买 nike

public void startScanning() {

// Check if there is a webcam available
if (cameraView.getWebcamPanel() == null) {
return;
}

// Make sure the webcam is not null
if (cameraView.getWebcam() == null) {
return;
}

if (!cameraView.getWebcam().isOpen()) {
cameraView.getWebcam().open();
}

// Make sure the webcam is open
if (cameraView.getWebcam().isOpen()) {

// Create a SwingWorker thread to run in the background
worker = new SwingWorker<Void, Void>() {


try {
qrResult = new MultiFormatReader().decode(bitmap);
//System.out.println("qrResults: " + qrResult);



try {
// new error handling
int length = qrResult.getText().length();
if(length != 23){
JOptionPane.showMessageDialog(null, "Username and password is correct");
startScanning();
}
// end of error handling

我省略了一些语法,但由于某种原因,startScanning() 方法在最后没有被调用。显示对话框,但未调用该方法。有人可以解释一下为什么吗?

最佳答案

我想,它与JOptionPane.showMessageDialog有关。在程序继续之前必须关闭 MesageDialog。如果您没有图形设备来显示对话框,它也可能抛出 HeadlessException

检查所有打开的窗口并对您的 try block 实现良好的 catch

一个小示例程序来展示正在发生的事情:

public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Message");
System.out.println("done");
}

控制台输出done仅在您有图形设备时才会出现,并且仅在您关闭对话框窗口后才会出现。

关于Java程序不是调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280161/

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