标签: imageicon

Java:ImageIcon与Image的区别

任何人都可以用noob的方式向我解释ImageIcon和Java中的Image类/对象之间有什么区别?谢谢

java swing image awt imageicon

12
推荐指数
1
解决办法
1万
查看次数

在OS X上以Java swing设置默认应用程序图标图像

我正在尝试为Jar文件设置图标图像:

setIconImage(new ImageIcon(getClass().getResource("logo.png")).getImage());
Run Code Online (Sandbox Code Playgroud)

在Mac OS X 10.7.4中运行时出现以下错误:

Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextGetCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextSetBaseCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextGetCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextSetBaseCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextGetCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextSetBaseCTM: invalid context 0x0
Run Code Online (Sandbox Code Playgroud)

java macos swing imageicon

11
推荐指数
4
解决办法
1万
查看次数

如何更改图像的亮度

我的问题:我希望能够改变资源图像的亮度,并将其三个实例作为ImageIcons.一个亮度为50%(如此暗),另一个亮度为75%(亮度稍高),最后另一个亮度为100%(与原始图像相同).我也想保持透明度.

我尝试了什么:我已经四处寻找,看起来最好的解决方案是使用RescaleOp,但我无法理解.我不知道scaleFactor和偏移是什么.这是我尝试过的代码.

public void initialize(String imageLocation, float regularBrightness, float focusedBrightness, float pressedBrightness, String borderTitle) throws IOException {
  BufferedImage bufferedImage = ImageIO.read(ButtonIcon.class.getResource(imageLocation));
  setRegularIcon(getAlteredImageIcon(bufferedImage, regularBrightness));
  setFocusedIcon(getAlteredImageIcon(bufferedImage, focusedBrightness));
  setPressedIcon(getAlteredImageIcon(bufferedImage, pressedBrightness));
  setTitle(borderTitle);
  init();
}

private ImageIcon getAlteredImageIcon(BufferedImage bufferedImage, float brightness) {
  RescaleOp rescaleOp = new RescaleOp(brightness, 0, null);
  return new ImageIcon(rescaleOp.filter(bufferedImage, null));
}
Run Code Online (Sandbox Code Playgroud)

电话会是这样的:

seeATemplateButton.initialize("/resources/templateIcon-regular.png", 100f, 75f, 50f, "See A Template");
//I think my 100f, 75f, 50f variables need to change, but whenever I change them it behaves unexpectedly (changes …
Run Code Online (Sandbox Code Playgroud)

java swing image-manipulation brightness imageicon

10
推荐指数
1
解决办法
2万
查看次数

将ImageIcon转换为BufferedImage

我一直试图将一个转换ImageIconBufferedImage...而且我没有运气.

我有一个预先存在的ImageIcon,需要转换为缓冲图像,用于存在的大量BufferedImage操作.

我找到了几种方法,但所有方法都是CPU密集型的.

java bufferedimage imageicon

10
推荐指数
2
解决办法
2万
查看次数

从JOptionPane中删除图标

如何从中删除图标JOptionPane

ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
int result = JOptionPane.showConfirmDialog((Component) null, label, "ScreenPreview", JOptionPane.OK_CANCEL_OPTION);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

java swing image joptionpane imageicon

10
推荐指数
1
解决办法
1万
查看次数

如何在JFrame中更改java图标

好的,所以我一直在研究这个安静.我对java很新,但认为这个很容易.我已经尝试了几乎所有已经在这个网站上回答的方式,但仍然没有运气,通常当我看到这里时,我能够找到适合我所寻找的答案.有谁知道如何更改JFrame顶角的Java图标.我非常肯定它不是我的文件路径,因为我的所有图像都在同一个文件夹中并且它们都工作,这是我唯一无法工作的.

这是我的程序主菜单的代码的第一部分,一切正常,除非我尝试添加图标图像.我在下面输入的代码中没有任何内容用于JFrame IconImage,我将其删除,因为它不起作用.因此,如果有人知道如何使用这个代码,我将非常感谢,非常感谢您提前!

public class MainFrame
{
private MyPanel main;
private MyPanel2 create;
private MyPanel3 update;
private MyPanel4 find;
JFrame frame = new JFrame("Main Menu:");

public void displayGUI()
{
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel contentPane = new JPanel();
    contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
    contentPane.setLayout(new CardLayout());
    main = new MyPanel(contentPane, this);
    create = new MyPanel2(contentPane);
    update = new MyPanel3(contentPane);
    find = new MyPanel4(contentPane);
    contentPane.add(main, "Main Menu");
    contentPane.add(create, "Create Part");
    contentPane.add(update, "Update Part");
    contentPane.add(find, "Find Part");
    frame.setLocation(200, 200);
    frame.setSize(700, 580);
    frame.setContentPane(contentPane);

    frame.setVisible(true);

}
Run Code Online (Sandbox Code Playgroud)

java icons swing jframe imageicon

10
推荐指数
1
解决办法
3万
查看次数

Java将ImageIcon添加到JLabel

我正在尝试使用Java制作一个非常基本的游戏,而我在显示图像时遇到问题JFrame.它曾经为我工作过,现在不是,我看不出我做错了什么.

我已经尝试打印当前的工作目录并更改我的图像匹配的位置.问题很可能是没有得到图像,因为我的(文件查找器或文件阅读器或类似的东西)可以毫无问题地找到它,但我无法正确地将它(或ImageIcon)添加到JLabel,或者那个JFrame.

这是我的代码......

JFrame frame = new JFrame("no image");
ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png");
JLabel imagelabel = new JLabel(image);
frame.add(imagelabel);
Run Code Online (Sandbox Code Playgroud)

JFrame已经setVisible(true)pack().

请有人帮我理解出了什么问题.

java swing jpanel jframe imageicon

8
推荐指数
1
解决办法
9万
查看次数

在NetBeans中将ImageIcon添加到jbutton时出现空指针异常

使用NetBeans将ImageIcon添加到按钮属性.

    print.setFont(new java.awt.Font("Serif", 0, 14)); 
    print.setIcon(new javax.swing.ImageIcon(getClass().getResource("/project/print.gif"))); 
    print.setMnemonic('P');
    print.setText("Print");
    print.setToolTipText("Print");
Run Code Online (Sandbox Code Playgroud)

编译时显示

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
    at project.Editor.initComponents(Editor.java:296)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

java swing jbutton imageicon

8
推荐指数
1
解决办法
2万
查看次数

更改Java应用程序的桌面图标

我想提前感谢您抽出时间阅读我的问题,我将非常感谢您提供的任何评论,答案,见解,技术和批评.

我正在寻找一种有用的方法来更改Java应用程序的桌面图标.我已经调查了几天,但是没有找到准确的结果.

在您将其标记为重复并将其称为重复之前,我已阅读:如何更改Java中的默认应用程序图标?对其他提出这个问题的人),但这并没有解决我的具体问题.我知道他们的方法使用url位置而不是导入,但我试图学习如何使用导入(如果这样,实际上可能).当我尝试使用他们的方法来改变源位置时.除此之外,url示例似乎不适用于存储在计算机上的文件.当我尝试运行它时,我收到"未捕获的错误"消息.

我使用以下格式声明我已导入NetBeans的图像:

Image image = new ImageIcon("imported.png").getImage();
frame.setIconImage(image);
Run Code Online (Sandbox Code Playgroud)

现在这适用于工具栏中显示的图标,它也出现在框架的左上角,但是当我清理和构建它时,我仍然将Java咖啡杯作为应用程序的图标.

有关我用于尝试此操作的代码的其他资源:

import java.awt.Image;
import javax.swing.*;

public class Check {
    JFrame frame;
    public static void main(String[] args) {
        new Check().go();
    }
    private void go() {
        frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Image image = new ImageIcon("owl.gif").getImage();

        frame.setIconImage(image);
        frame.setVisible(true);
        frame.setSize(300, 300);
    }
}
Run Code Online (Sandbox Code Playgroud)

"owl.gif"位是我通过单击和拖动方法导入到NetBeans中的内容(如我在其中一本专注于NetBeans的书籍中所述).

我正在寻找一种方法来创建一个文件,我已经在我的计算机上保存了应用程序的桌面图标.

java icons swing image imageicon

8
推荐指数
1
解决办法
1万
查看次数

是什么导致Java JLabel图标的图像质量差?

Java JLabel图标显示的像素变形JFrame。对于不同的png图像(全部为32x32),这会始终发生。我没有缩放图像,它们显示在程序32x32中,我已使用getWidthgetHeight在JLabel上对其进行了验证。每次运行程序时,变形会出现在同一位置,而不是随机出现。

屏幕截图使用下面提供的示例代码。
屏幕截图示例(1)

在此屏幕快照中,您可以看到一系列JLabel图标,每个图标的影响方式不同。
屏幕截图示例(2)

从侧面调整窗口大小时,随着图标与窗口一起移动,变形会像垂直线一样在图标上移动。

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;

public class FrameApp extends JFrame
{
    public static void main(String[] args) throws IOException
    {
        FrameApp frameApp = new FrameApp();
    }

    private FrameApp() throws IOException
    {
        BufferedImage image;

        URL url = new URL("http://i.stack.imgur.com/L5DGx.png");
        image = ImageIO.read(url);

        JLabel label = new JLabel(new ImageIcon(image));

        add(label);

        pack();
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:
我在Windows 8.1 64位上使用JDK 11.0.3,Java SE Runtime Environment构建1.8.0_202。

java swing image jlabel imageicon

8
推荐指数
1
解决办法
271
查看次数