gpt4 book ai didi

java - 如何在 5 秒后更改 jtextfield 边框?

转载 作者:行者123 更新时间:2023-12-01 17:08:48 24 4
gpt4 key购买 nike

我尝试在 5 秒后更改 jtextfield 边框。但不起作用。我的代码:

    // Here vaildate a field and set border to red
if (ApplicationNameField.getText().equals("")) {
Border newBorder = BorderFactory.createLineBorder(Color.RED, 1);
ApplicationNameField.setBorder(newBorder);
ErrorCode.setText("Error field cant be empty");
}
if (ApplicationHostField.getText().equals("")) {
Border newBorder = BorderFactory.createLineBorder(Color.RED, 1);
ApplicationHostField.setBorder(newBorder);
ErrorCode.setText("Error field cant be empty");
}

// here i would change border to start normal color (color black)
try {
TimeUnit.SECONDS.sleep(5);
Border newBorder = BorderFactory.createLineBorder(Color.BLACK, 1);
ApplicationNameField.setBorder(newBorder);
Border newBorder2 = BorderFactory.createLineBorder(Color.BLACK, 1);
ApplicationHostField.setBorder(newBorder2);

} catch (InterruptedException ex) {
System.out.print(ex.getMessage());
}

在这段代码之后,我的 JTextFields 边框是黑色的,并且没有被红色着色。

我也尝试过:

     Thread.sleep(5000);

但是效果是一样的。有人可以帮忙吗?

最佳答案

您需要使用javax.swing.Timer在5秒后触发所需的操作。 Thread.wait(或任何其他类型的等待)无法按预期工作,因为在线程返回主事件循环之前不会绘制任何内容。

关于java - 如何在 5 秒后更改 jtextfield 边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24456833/

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