Java Netbeans 在设计模式下简单显示图像

标签 java user-interface image netbeans

我正在使用 JPanel 的自定义子类来让我更好地控制某些图像的显示。它的代码如下。

但是,在 Netbeans 中,在设计模式下,我希望能够看到我正在使用的图像,而不是简单地查看对象的轮廓。

有一个图像属性,但我目前可以设置图像的唯一方法是将自定义代码注入(inject)图像属性。 但是,我不确定我需要包含哪些代码才能查看图像,或者是否有更简单的方法。

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

public class ImagePanel extends JPanel {

  private Image img;

  public void setImage(String img) {
    this.img = new ImageIcon(img).getImage();//setImage(new ImageIcon(img).getImage());
  }

  public void setImage(Image img) {
    int width = this.getWidth();
    int height = (int) (((double) img.getHeight(null) / img.getWidth(null)) * width);
    this.img = img.getScaledInstance(width, height, Image.SCALE_SMOOTH);
  }

  public void paintComponent(Graphics g) {
    g.drawImage(img, 0, 0, this);
  }
}

alt text http://img691.imageshack.us/img691/2128/tempscreen.png

最佳答案

改变:

public void setImage(String img) {

收件人:

public void setImageName( String img ) {

重新构建,并在设计器中设置 ImageName 属性。在原始代码中,设计者认为bean 属性Image 是java.awt.Image 类型,而不是String。它不知道如何在设计时为您的 bean 指定 java.awt.Image。但是它可以轻松地将字符串传递给您的 bean,您只需要给它一个明确的字符串 bean 属性 (ImageName)。

关于Java Netbeans 在设计模式下简单显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1968411/

相关文章:

ios - 以全分辨率在iPad上运行iPhone应用程序

image - 更改 RGB 图像中多个像素的值

.net - 使用 .NET 将图像转换为 WMF?

java - 如何将 Spring Boot 中的配置属性注入(inject)到 Spring Retry 注释中?

java - 当 CardLayout 中显示特定卡片时,如何执行操作?

java - J2ME中如何生成哈希值?

java - 基本乘法和除法 Java GUI

javascript - 图像不显示从 XML 到 HTML 表

java - Libgdx ExtendViewport 无法与 Scene2D UI 一起正常工作

java - 有没有办法在不使用 instanceof 的情况下强制方法使用子类构造函数?