【发布时间】:2011-09-18 05:31:35
【问题描述】:
我想向javax.swing.JFrame 标题栏添加一张图片(小图标)。
我该怎么做?
【问题讨论】:
-
JPanel没有标题栏...
标签: java image swing icons jframe
我想向javax.swing.JFrame 标题栏添加一张图片(小图标)。
我该怎么做?
【问题讨论】:
JPanel 没有标题栏...
标签: java image swing icons jframe
由于JPanel 没有标题栏,我假设您指的是JFrame。话虽如此,请使用setIconImage(...)。
这里是一个使用setIconImages()的例子。
import java.awt.Image;
import javax.swing.*;
import javax.imageio.ImageIO;
import java.net.URL;
import java.util.*;
class FrameIcons {
public static void main(String[] args) throws Exception {
URL url16 = new URL("http://i.stack.imgur.com/m0KKu.png");
URL url32 = new URL("http://i.stack.imgur.com/LVVMb.png");
final List<Image> icons = new ArrayList<Image>();
icons.add(ImageIO.read(url16));
icons.add(ImageIO.read(url32));
SwingUtilities.invokeLater( new Runnable() {
public void run() {
JFrame f = new JFrame("Frame Icons");
f.setIconImages(icons);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationByPlatform(true);
f.setSize(200,100);
f.setVisible(true);
}
});
}
}
【讨论】:
setIconImages()(注意复数形式)。如果您设置大小为 16x16 和 32x32 的图像,第一个将用作框架图标(在支持它的系统上 - 我最近注意到 Mac 不支持),第二个在不同应用程序之间“alt tabbing”时显示。我不知道除了 Windows 之外还有哪些平台会显示一个图标来表示应用程序。在它们之间切换时。