gpt4 book ai didi

Java - JoptionPane.ShowConfirmDialog 中的自定义图像不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:48 24 4
gpt4 key购买 nike

当用户输入密码并单击“确定”按钮时,密码将被加密并存储在JTextArea 中。这工作正常。但我想在 showConfirmDialogshowMessageDialog 弹出窗口中添加自定义 Logo 。我尝试使用以下代码,但自定义图像( Logo )未显示在消息弹出窗口中

public static void main(String[] args) {

Box box = Box.createHorizontalBox();
JLabel label = new JLabel("Enter your password : ");
box.add(label);
JPasswordField passwordField = new JPasswordField(24);
box.add(passwordField);

final ImageIcon icon = new ImageIcon("C:\\Users\\Test\\Internet.png");
int button = JOptionPane.showConfirmDialog(null, box, "Enter your password", JOptionPane.OK_CANCEL_OPTION, JOptionPane.NO_OPTION, icon);
if (button == JOptionPane.OK_OPTION) {
String password = new String(passwordField.getPassword());
String encryptedPassword;
if (password != null && !password.equals("")) {
byte[] bytesEncoded = Base64.encodeBase64(password.getBytes());
JTextArea richTextField = new JTextArea(10, 10);
encryptedPassword = new String(bytesEncoded);
richTextField.setText(encryptedPassword);
richTextField.setOpaque(false);
richTextField.setEditable(false);
JOptionPane.showMessageDialog(null, richTextField);
} else {
JOptionPane.showMessageDialog(null,
"Password cannot be null. Please enter password to encrypt.");

}
}
}<br>

我将 ImageIcon 对象作为参数传递到 JoptionPane.showConfirmDialog 中。但是当我运行它时,我没有看到弹出窗口中显示任何图像。我不确定我在这里做错了什么。
注意:我需要在两个弹出窗口中显示一个自定义图像。 showConfirmDialogshowMessageDialog
任何帮助将不胜感激

最佳答案

您的代码完全没问题。我只是在我的环境中运行它并且运行良好。这使我相信您的问题是图片路径。我什至用一个不存在的图像的路径测试了它,并且窗口显示没有显示任何图像。

我只改变了两件事,很明显是图片的路径:

final ImageIcon icon = new ImageIcon("c:\\temp\\poke-ball-png-13_30x30.png");

enter image description here

我从 Free Icons PNG 得到的这张图片

还有 Base64 类,因为没有提及您在哪里使用它,所以我使用 java 类:

import java.util.Base64;
....
byte[] bytesEncoded = Base64.getEncoder().encode(password.getBytes());

因此请确保您的图片 "C:\\Users\\Test\\Internet.png" 确实在磁盘上的那个路径上

关于Java - JoptionPane.ShowConfirmDialog 中的自定义图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42855512/

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