Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30353
  • 博文数量: 11
  • 博客积分: 251
  • 博客等级: 二等列兵
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-23 21:31
文章分类

全部博文(11)

文章存档

2011年(11)

我的朋友
最近访客

分类: Java

2011-08-13 17:49:47

最近突然来劲,准备学点Java,其中一个示例程序用到了目录中的图片文件,可程序运行时,却没将图片显示出来,部分代码如下:
 
  1. package ch09;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;

  5. public class ToolBarTest {
  6.   // omitted here ......


  7. }
  8. class ToolBarFrame extends JFrame{
  9.   public ToolBarFrame(){
  10.     // omitted here ......

  11.     
  12.     Action blueAction = new ColorAction("Blue",new ImageIcon("blue-ball.gif"),Color.BLUE);
  13.     
  14.     Action yellowAction = new ColorAction("Yellow",new ImageIcon("yellow-ball.gif"),Color.YELLOW);
  15.     
  16.     Action redAction = new ColorAction("Red",new ImageIcon("red-ball.gif"),Color.RED);
  17.     
  18.     Action exitAction = new AbstractAction("Exit",new ImageIcon("exit.gif")){
  19.     
  20.         public void actionPerformed(ActionEvent event){
  21.     
  22.             System.exit(0);
  23.     
  24.         }
  25.     
  26.     };
  27.     
  28.     // omitted here ......

  29.   }
  30. }

 
此时上述4个图片文件与程序源文件位于同一目录下,路径为:CoreJavaV1\src\ch09\*.*
 
最后发现程序中的路径是相对于工程目录而言的,也就是默认工作目录为:CoreJavaV1,通过修改上述程序如下,问题得到解决:
 
  1. package ch09;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;

  5. public class ToolBarTest {
  6.   // omitted here ......


  7. }
  8. class ToolBarFrame extends JFrame{
  9.   public ToolBarFrame(){
  10.     // omitted here ......

  11.     
  12.     Action blueAction = new ColorAction("Blue",new ImageIcon("src/res/blue-ball.gif"),Color.BLUE);
  13.     
  14.     Action yellowAction = new ColorAction("Yellow",new ImageIcon("src/res/yellow-ball.gif"),Color.YELLOW);
  15.     
  16.     Action redAction = new ColorAction("Red",new ImageIcon("src/res/red-ball.gif"),Color.RED);
  17.     
  18.     Action exitAction = new AbstractAction("Exit",new ImageIcon("src/res/exit.gif")){
  19.     
  20.         public void actionPerformed(ActionEvent event){
  21.     
  22.             System.exit(0);
  23.     
  24.         }
  25.     
  26.     };
  27.     
  28.     // omitted here ......

  29.   }
  30. }

 
目录结构如下:
 
D:\Learning\Java\workspace\CoreJavaV1>tree /F
Folder PATH listing for volume 新加卷
Volume serial number is 183E-0660
D:.
│  .classpath
│  .project
│  Instrument.class.violet

├─.settings
│      org.eclipse.jdt.core.prefs

├─bin
│  │
│  ├─ch09
│  │      SliderTest$1.class
│  │      SliderTest.class
│  │      SliderTestFrame$1.class
│  │      SliderTestFrame.class
│  │      ToolBarFrame$1.class
│  │      ToolBarFrame$ColorAction.class
│  │      ToolBarFrame.class
│  │      ToolBarTest$1.class
│  │      ToolBarTest.class
│  │
│  └─res
│          ace.gif
│          blue-ball.gif
│          exit.gif
│          jack.gif
│          king.gif
│          nine.gif
│          queen.gif
│          red-ball.gif
│          ten.gif
│          yellow-ball.gif

└─src
    │
    ├─ch09
    │      BorderTest.java
    │      Calculator.java
    │      CheckBoxTest.java
    │      ComboBoxTest.java
    │      MenuTest.java
    │      RadioButtonTest.java
    │      SliderTest.java
    │      TextComponentTest.java
    │      ToolBarTest.java
    │
    └─res
            ace.gif
            blue-ball.gif
            exit.gif
            jack.gif
            king.gif
            nine.gif
            queen.gif
            red-ball.gif
            ten.gif
            yellow-ball.gif
D:\Learning\Java\workspace\CoreJavaV1>
阅读(623) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~