ImageIcon icon = new ImageIcon("a.gif");
执行结果是icon无法显示
假设工程目录为project,目前类及图片所在的包是ppju
类中有如下调用:
ImageIcon icon = new ImageIcon("a.gif");
很自然地认为当前类文件和图片在同一路径下即可。
其实所谓的相对路径起点是工程的根目录,即project。
这行代码执行时在project目录下查找名为a.gif的文件,结果当然是找不到。
要得到工程的相对路径可通过System.getProperty("user.dir")得到。
对图片和对文件的查找应该是一致的,如new File()。
ImageIcon icon = new ImageIcon("src/ppju/a.gif");
这行代码执行时在project/test目录下查找到了文件
总结起来就是一句话:所谓相对路径就是相对于工程根目录的位置^_^
查看了一下ImageIcon的构造函数。
Public ImageIcon(String filename)//参数可以是绝对路径也可以是相对路径
Public ImageIcon(URL url)
URL url = getClass().getResource("a.gif"); //当前编译后class文件所在目录查找
ImageIcon icon = new ImageIcon(url);
ImageIcon支持GIF、JPG、PNG等格式。
分享到:
相关推荐
《ImageFrame.class——Java核心思想在图片处理中的应用》 在Java编程领域,"ImageFrame.class" 是一个关键的组件,通常与图像显示和处理有关。这个类是Java图形用户界面(GUI)的一部分,用于创建并展示图像。在这...
public class Block extends JButton implements ActionListener { ImageIcon 翻开时的图标=null,关闭时的图标=null; public Block() { addActionListener(this); } public ImageIcon 获取翻开时的图标() { ...
在给定的描述中,“`ImageIcon im=new ImageIcon("1.jpg");`”就是关键代码,它创建了一个`ImageIcon`对象,用于表示文件路径为“1.jpg”的图像。这里的"1.jpg"应该是一个相对或绝对路径,指向程序可以访问的图像...
ImageIcon image = new ImageIcon(this.class.getResource("icons/logo.gif")); 在这种方法中,需要注意图片的路径问题。如果将所有资源打包为一个 Jar 文件,例如 andy.jar,而类位于一个包中,例如 andycpp,那么...
public class test { ImageIcon imageIcon =new ImageIcon("透明旋转枫.gif");//images这个文件 ImageIcon imagebutton=new ImageIcon("button.png"); JLabel j2=new JLabel(); public test(){ final JFrame f...
public class ShowImagePanel extends JPanel { private ImageIcon imageIcon; public ShowImagePanel(String imagePath) { imageIcon = new ImageIcon(imagePath); setLayout(new BorderLayout()); add(new ...
如果是Maven或Gradle项目,可以将图片放入`src/main/resources`目录,然后使用类路径(`Class.getResourceAsStream()`)来加载: ```java InputStream inputStream = getClass().getResourceAsStream("/images/...
ImageIcon icon = new ImageIcon("a.png"); int x = 0; int y = 100; icon.paintIcon(this, g, x, y); } } } ``` 五、缩放图像 Java 2D API 提供了`Graphics2D`和`AffineTransform`类来实现图像的缩放。以下...
绝对好使。不好不要钱. import java.awt.*; import java.awt.image.*; import java.io.*;... ImageIcon imgIcon = new ImageIcon(filePath); Image theImg = imgIcon.getImage(); 继续? 下载吧。
import java.util.Scanner; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.imageio.*; ...public class Jsq{ ... blaf9.setIcon(new ImageIcon(getClass().getResource(s009...
public class ResizeFrame extends JFrame { private boolean isTopLeft; private boolean isTop; private boolean isTopRight; private boolean isRight; private boolean isBottomRight; private boolean is...
public class Cell extends JButton { private static final long serialVersionUID = 8290188097137862984L; public static final int IMAGEWIDTH = 200; // 图片宽度 private int place;// 图片位置 public ...
public class Pic { public static void main(String[] args) { // 创建 JFrame,它是窗口的基础 JFrame frame = new JFrame("图片显示"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 加载...
ImageIcon icon = new ImageIcon(ImageIO.read(is)); ``` 这样,无论程序运行在哪里,只要类路径设置正确,都能找到并加载图片。 在处理大量图片时,可能需要优化加载过程,避免一次性加载所有图片导致内存占用过高...
public class ImageLoaderExample { public static void main(String[] args) { // 创建一个新的JFrame实例,它是大多数Swing应用的基础容器 JFrame frame = new JFrame("Image Loading Demo"); frame....
public class SimpleEditor extends JFrame //继承窗体类 { /*定义菜单栏,菜单和菜单选项*/ JMenuBar menuBar1=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenu editMenu=new JMenu("Edit"); JMenu ...
首先创建一个`ImageIcon`对象,然后可以通过它的`getImage()`方法获取到一个`Image`对象。 2. **使用`JLabel`**:可以利用`JLabel`的构造函数直接传入`ImageIcon`对象来显示图片。 3. **使用`JButton`**:同样地,也...
public class JLabelDemo2 { public static void main(String[] args) { // 创建ImageIcon实例,传入图片文件路径 ImageIcon icon = new ImageIcon("Java.jpg"); // 创建JLabel,传入图标 JLabel label = new ...
为了在节点上添加图片,你需要创建自定义的TreeNode子类,该子类包含一个ImageIcon对象,代表节点的图标。 ```java public class ImageNode extends DefaultMutableTreeNode { private ImageIcon icon; public ...
在Java中,可以使用`javax.swing.ImageIcon`来加载和展示图像资源。 8. **PasswordFrame.class**:这个名字表明可能是一个包含密码输入的窗口。可能涉及到密码的安全存储、加密和验证,使用`javax.swing....