为什么这个程序为按钮添加图片必须要绝对路径,相对路径就无法添加呢?(现在是相对路径,无法显示)

importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassTestGUI03exten... import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TestGUI03 extends JFrame implements ActionListener {
JButton button1,button2,button3;
JToolBar toolBar;
JTextArea textArea;
JScrollPane scrollPane;
JPanel panel;
public static void main(String[] args) {
new TestGUI03();
}
public TestGUI03() {
super("带有工具栏按钮的窗口");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
button1=new JButton();
ImageIcon icon = new ImageIcon("image/01.gif"); //为什么必须是绝对路径
button2=new JButton(new ImageIcon("image/02.gif"));
button3=new JButton(new ImageIcon("image/03.gif"));
button1.setIcon(icon);
button1.setSize(1, 1);

button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
toolBar=new JToolBar();
toolBar.add(button1);
toolBar.add(button2);
toolBar.add(button3);
textArea=new JTextArea(6,30);
scrollPane=new JScrollPane(textArea);
panel=new JPanel();
setContentPane(panel); //JFrame不能直接添加组件,需要设置内容窗格(内容面板)
panel.setLayout(new BorderLayout());
panel.setPreferredSize(new Dimension(300,150));
panel.add(toolBar,BorderLayout.NORTH);
panel.add(scrollPane,BorderLayout.CENTER);
pack(); //调整窗口大小,以适合其子组件的首选大小和布局
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String s="";
if (e.getSource()==button1)
s="左按钮被单击\n";
else if (e.getSource()==button2)
s="中按钮被单击\n";
else if (e.getSource()==button3)
s="右按钮被单击\n";
textArea.append(s);
}
}
展开
 我来答
田响建站
2017-11-13 · 田响建站,纯手工建网站
田响建站
采纳数:3384 获赞数:2327

向TA提问 私信TA
展开全部
是你的相对路径不正确
image文件夹必须同这个文件在同一目录下并存着
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
万年青Sophia
2017-11-13 · TA获得超过355个赞
知道小有建树答主
回答量:526
采纳率:73%
帮助的人:96.3万
展开全部
如果当前路径在C:\windows\下 该目录下有a目录,a目录下有b.txt文件。 那么,要b.txt的绝对路径是c:\windows\a\b.txt 相对路径a\b.txt 从程序设计角度,应该是相对路径好,因为如果用绝对路径,如果程序拷贝到另一台电脑上还能找到吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3fb9fae
2017-11-13 · TA获得超过1570个赞
知道小有建树答主
回答量:3274
采纳率:4%
帮助的人:387万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式