标签: imageicon

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

Java:字符串到ImageIcon?

无论如何将String转换为ImageIcon?

有点像这里的代码:http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/Createaniconinmemory.htm

我希望将String显示为ImageIcon,而不是红色矩形.

我的目的是除了Jtree节点之外还显示这个动态创建的ImageIcon.

java imageicon

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

关于 JButton 和 ImageIcon

我目前正在读一本关于java的书,目前正在研究swing图形用户界面组件。当我这样做时,我偶然发现了一个代码示例,其中作者以一种非常不寻常的方式在 JButton 上设置图像,如下所示:

Icon bug1 = new ImageIcon( getClass().getResource( "bug1.gif" ) );
Run Code Online (Sandbox Code Playgroud)

为了使上述工作正常,您需要将图像与 .class 文件放在同一文件夹中。有人可以向我解释一下为什么他使用这个特定的代码(据我所知,它一定是反射代码,但话又说回来,我对此不是特别确定)以及是否有一种方法可以让我做到这一点同样的事情,而不会让事情像他那样复杂?

java swing jbutton embedded-resource imageicon

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

使标签图标出现在文本上方

我试图让JLabel图标出现在标签文本上方。

目前我有以下代码;

URL loc = null;
        ImageIcon img = null;
        JLabel label = null;

        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));

        loc = Test.class.getResource("/Images/imageName.jpg");
        img = new ImageIcon(loc);
        label = new JLabel("someText", img, JLabel.CENTER);
        label.setIconTextGap(0);
        label.setVerticalTextPosition(JLabel.BOTTOM);
        label.setHorizontalTextPosition(JLabel.RIGHT);
        frame.getContentPane().add(label);
Run Code Online (Sandbox Code Playgroud)

我当前看到的输出是图像图标右侧的标签文本。谁能建议改变什么?

java swing image jlabel imageicon

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

在Eclipse中访问图像路径

我正在尝试访问我的Java代码中的一些图像.调用图像的代码如下.

public final ImageIcon whitePiece = new ImageIcon(getClass().getResource("Images/whitecircle.PNG"));
public final ImageIcon blackPiece = new ImageIcon(getClass().getResource("Images/blackcircle.png"));
public final ImageIcon tiePiece = new ImageIcon(getClass().getResource("Images/tiecircle.PNG"));
public final ImageIcon boardPic = new ImageIcon(getClass().getResource("Images/gameboard.PNG"));
Run Code Online (Sandbox Code Playgroud)

但是,这会返回以下错误:

Exception in thread "main" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at jared.othello.GameInterface.<init>(GameInterface.java:26)
    at jared.othello.Main.main(Main.java:22)
Run Code Online (Sandbox Code Playgroud)

第26行是上述代码的第一行.我几乎肯定我的文件目录命名有问题,但我无法弄清楚什么是错的或如何解决它.我在项目中创建了一个名为"Images"的源文件,并将图像放在文件夹中,如下所示:

项目配置

我做错了什么,以及正确的文件名语法是什么?谢谢!

java eclipse embedded-resource imageicon

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

无法实例化Image java的类型?

public Image  images[] = new Image[20];

    for(i=0; i<10; i++){
images[i]=new Image(getClass().getResource("/images/"+i+".jpg"));
        }
Run Code Online (Sandbox Code Playgroud)

我试图将图像添加到数组,但它给出错误无法实例化类型图像j

可能是什么原因?

java swing image embedded-resource imageicon

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

如何将ImageIcon转换为图像?

我从我的项目src文件中抓取了imageicon,如下所示:

 icon = new ImageIcon(ViewDetailsV.class.getResource("/brandnew/images/male_avatar.jpg"));
Run Code Online (Sandbox Code Playgroud)

然后我想放入这一行,以便调整大小到标签的大小:

lblPhotoField.setIcon(new ImageIcon(ScaledImage(icon, lblPhotoField.getWidth(), lblPhotoField.getHeight()));
Run Code Online (Sandbox Code Playgroud)

但我需要"图标"作为图像,而不是图像图像,因为ScaledImage采用Image参数而不是ImageIcon.

 private Image ScaledImage(Image img, int w, int h){
    BufferedImage resizedImage = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);

    Graphics2D g2 = resizedImage.createGraphics();
    g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    g2.drawImage(img, 0,0,w,h,null);
    g2.dispose();
    return resizedImage;
}
Run Code Online (Sandbox Code Playgroud)

是的,我确实尝试将返回值更改为ImageIcon,但它给了我错误.所以我现在专注于如何将ImageIcon转换为Image,这样我就可以将它放在方法行中,获取图标并将我的标签设置为:

 lblPhotoField.setIcon(icon);
Run Code Online (Sandbox Code Playgroud)

java swing image imageicon

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

Java GIF动画无法正确重新绘制

我正在尝试为GIF图像制作动画.动画有效,但画面效果不佳.

它显示如下(非动画截图): 我怎么看

在图像中,尾巴像这样摇晃: 这是我用过的图像

如您所见,图像不能很好地重现.我不想使用JLabel但是没有正常工作,所以当我的图像没有动画时,我就按照这个问题.

我的代码是这样的:

public void draw(JPanel canvas, Graphics2D g2d, int x, int y) {
    getFrontImage().paintIcon(canvas, g2d, x, y);
}
Run Code Online (Sandbox Code Playgroud)

检索和保存图像的位置如下:

ImageIcon gif = new ImageIcon(getClass().getResource(filename));
Run Code Online (Sandbox Code Playgroud)

在JPanel画布中,我制作了一个paint方法和一个每10ms重绘一次的计时器线程.这适用于除GIF之外的所有事情.谁可以帮我这个?

---编辑

我很抱歉误会,我已将图像更新为我实际使用的图像.我希望得到正确答案并不是太麻烦......

java animation swing gif imageicon

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

Java - 如何将图像添加到资源中

我在向我的 java 项目添加图像时确实遇到了问题,在你问之前,是的,我已经搜索并尝试了一切,但我就是无法让它工作。

这是我的问题:

目前我正在使用此代码来获取图像:

        ImageIcon goldIcon = new ImageIcon("res/Gold_coin.png");
        ImageIcon silverIcon = new ImageIcon("res/Silver_icon.png");
        ImageIcon copperIcon = new ImageIcon("res/Copper_icon.png");
Run Code Online (Sandbox Code Playgroud)

我的项目结构如下:

我有一个项目文件夹和两个子文件夹。

两个子文件夹都被指定为源文件夹,一个是“src”文件夹,另一个我命名为“res”。在“src”文件夹中,我有一个包含所有类的包。在“res”文件夹中,我保存了所有图像。

现在奇怪的是,“Gold_icon”确实有效,但银和铜都不起作用。我正在使用 eclipse luna,如果有人能给我一步一步的指导如何添加图像,那就太好了。

因为我找到的总是“添加到资源”,“将其添加到资源文件夹”,老实说,我尝试创建一个新文件夹,将其复制到“src”文件夹,我尝试了所有可能的调用,来自(“res/ Gold_coin.png") 到 ("/Gold_coin.png") 到 ("Gold_coin.png") 和 ("/res/Gold_coin.png")

我刷新了项目、文件夹、包、类,我重新启动了 eclipse 但没有任何帮助

我只是不明白..

请帮忙 :(

如果您需要我之后想对这些图像做什么的信息,我将它们一起添加到带有 flowlayout 的 JPanel 中,我将其写入带有 cellrenderer 的 JTable 单元格,这是与金色图标一起使用的所有内容,但不是其他两个。而且它也无法删除金色图标(因为我认为可能出于某种原因只有第一个图标起作用..),但随后什么也没有显示

文件夹结构和添加图像图标

将图像图标添加到 JPanel

输出

java resources image imageicon

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

调整ImageIcon或缓冲图像的大小?

我正在尝试将图像大小调整为50*50像素.我从他们存储在数据库中的路径中获取图像.我没有问题获取图像并显示它们.我只是想知道我应该在什么时候尝试调整图像大小.应该是将图像作为缓冲图像,还是只是尝试调整图标大小?

while (rs.next()) {
                        i = 1;
                        imagePath = rs.getString("path");
                            System.out.println(imagePath + "\n");
                            System.out.println("TESTING - READING IMAGE");
                        System.out.println(i);

                        myImages[i] = ImageIO.read(new File(imagePath));
                        **resize(myImages[i]);**

                        imglab[i] = new JLabel(new ImageIcon(myImages[i]));
                        System.out.println(i);
                        imgPanel[i]= new JPanel();
                        imgPanel[i].add(imglab[i]);
                        loadcard.add(imgPanel[i], ""+i);     
                        i++; 
Run Code Online (Sandbox Code Playgroud)

上面的代码检索图像并将其分配给ImageIcon,然后分配给JLabel.我试图通过使用下面的调整大小方法来调整缓冲图像的大小.你们能不清楚为什么这对我不起作用?没有任何错误,只是图像保持原始大小.

public static BufferedImage resize(BufferedImage img) {  
          int w = img.getWidth();  
          int h = img.getHeight(); 
          int newH = 50;
          int newW = 50;
          BufferedImage dimg = dimg = new BufferedImage(newW, newH, img.getType());  
          Graphics2D g = dimg.createGraphics();  
          System.out.println("Is this getting here at all " + …
Run Code Online (Sandbox Code Playgroud)

java swing bufferedimage resize imageicon

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