在 JOptionPane 中放一个 gif
Put a gif in JOptionPane
我试图在 JOptionPane 中将 Gif 图像模拟 "Loading" 但没有结果。
我尝试使用 URL、本地图像和图像的绝对路径,但我只能在其中放置图像(png、jpg...)。我最后一次尝试是
final ImageIcon icon = new ImageIcon(new URL("http://www.archisevilla.org/wp-content/themes/archisevilla/images/loading.gif"));
JOptionPane.showMessageDialog(null, "Cerrando sesión...", "About", JOptionPane.INFORMATION_MESSAGE, icon);
当我 运行 此代码时,JOptionPane 图像的占位符看起来是空的。
所以我想知道:是否可以将 GIF 放在 JOptionPane 中,甚至放在 JFrame 中?
这是我正在使用的代码
private void cerrarsesion() throws Exception {
this.dispose();
String path = "/com/icono/loading.gif";
URL url = this.getClass().getResource(path);
System.out.println(url);
ImageIcon icon = new ImageIcon(url);
createTimerClose(10).start();
JOptionPane.showMessageDialog(null, "Cerrando sesión...", "About", JOptionPane.INFORMATION_MESSAGE, icon);
new Login().setVisible(true);
}
这样做对我有用。
import javax.swing.*;
import java.net.*;
public class TestIcon
{
public static void main(String[] args) throws Exception
{
final ImageIcon icon = new ImageIcon(new URL("http://www.archisevilla.org/wp-content/themes/archisevilla/images/loading.gif"));
JOptionPane.showMessageDialog(null, "Blah blah blah", "About", JOptionPane.INFORMATION_MESSAGE, icon);
}
}
完全有可能,您的代码必须有效。目前我是 运行 你的代码,我看到了以下内容:
我认为您在访问加载图标的URL时遇到问题。可能是 DNS 的问题,或者您可能在代理后面对某些 URLs 的访问受限。
在您的浏览器中尝试以下 URL:
http://www.archisevilla.org/wp-content/themes/archisevilla/images/loading.gif
如果您可以在浏览器中看到这个正在加载的 gif 图标,那么您必须在 JOPtionPane
中看到它。
如果您在浏览器中看到 loading.gif 图标但看不到它 JOPtionPane
,请尝试以下操作:
下载并放入你编写上述代码的包中。例如,如果您有一个名为 Test.java
的 class,请将 loading.gif 文件放入与 Test.java
相同的包中。
在Test.java
的main方法中写入如下代码:
ImageIcon icon = new ImageIcon(Test.class.getResource("loading.gif").getFile());
JOptionPane.showMessageDialog(null, "Cerrando sesión...", "About", JOptionPane.INFORMATION_MESSAGE, icon);
现在您应该会在 JOptionPane
对话框中看到动画 loading.gif。如果您现在看到 loading.gif,您应该尝试找出从您的 java 代码访问 URL 的问题。有时,防病毒软件或防火墙会禁止 java.exe(您的 jvm)等应用程序访问出站或入站流量。也许你的问题是这样的。
但是你的问题的答案是肯定的。可以在 JOptionPanes 或 JFrames 中加载和显示 GIF 文件。
祝你好运。
我试图在 JOptionPane 中将 Gif 图像模拟 "Loading" 但没有结果。 我尝试使用 URL、本地图像和图像的绝对路径,但我只能在其中放置图像(png、jpg...)。我最后一次尝试是
final ImageIcon icon = new ImageIcon(new URL("http://www.archisevilla.org/wp-content/themes/archisevilla/images/loading.gif"));
JOptionPane.showMessageDialog(null, "Cerrando sesión...", "About", JOptionPane.INFORMATION_MESSAGE, icon);
当我 运行 此代码时,JOptionPane 图像的占位符看起来是空的。
所以我想知道:是否可以将 GIF 放在 JOptionPane 中,甚至放在 JFrame 中?
这是我正在使用的代码
private void cerrarsesion() throws Exception {
this.dispose();
String path = "/com/icono/loading.gif";
URL url = this.getClass().getResource(path);
System.out.println(url);
ImageIcon icon = new ImageIcon(url);
createTimerClose(10).start();
JOptionPane.showMessageDialog(null, "Cerrando sesión...", "About", JOptionPane.INFORMATION_MESSAGE, icon);
new Login().setVisible(true);
}
这样做对我有用。
import javax.swing.*;
import java.net.*;
public class TestIcon
{
public static void main(String[] args) throws Exception
{
final ImageIcon icon = new ImageIcon(new URL("http://www.archisevilla.org/wp-content/themes/archisevilla/images/loading.gif"));
JOptionPane.showMessageDialog(null, "Blah blah blah", "About", JOptionPane.INFORMATION_MESSAGE, icon);
}
}
完全有可能,您的代码必须有效。目前我是 运行 你的代码,我看到了以下内容:
我认为您在访问加载图标的URL时遇到问题。可能是 DNS 的问题,或者您可能在代理后面对某些 URLs 的访问受限。
在您的浏览器中尝试以下 URL:
http://www.archisevilla.org/wp-content/themes/archisevilla/images/loading.gif
如果您可以在浏览器中看到这个正在加载的 gif 图标,那么您必须在 JOPtionPane
中看到它。
如果您在浏览器中看到 loading.gif 图标但看不到它 JOPtionPane
,请尝试以下操作:
下载并放入你编写上述代码的包中。例如,如果您有一个名为
Test.java
的 class,请将 loading.gif 文件放入与Test.java
相同的包中。在
Test.java
的main方法中写入如下代码:ImageIcon icon = new ImageIcon(Test.class.getResource("loading.gif").getFile()); JOptionPane.showMessageDialog(null, "Cerrando sesión...", "About", JOptionPane.INFORMATION_MESSAGE, icon);
现在您应该会在 JOptionPane
对话框中看到动画 loading.gif。如果您现在看到 loading.gif,您应该尝试找出从您的 java 代码访问 URL 的问题。有时,防病毒软件或防火墙会禁止 java.exe(您的 jvm)等应用程序访问出站或入站流量。也许你的问题是这样的。
但是你的问题的答案是肯定的。可以在 JOptionPanes 或 JFrames 中加载和显示 GIF 文件。
祝你好运。