为什么这个程序为按钮添加图片必须要绝对路径,相对路径就无法添加呢?(现在是相对路径,无法显示)
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);
}
} 展开
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);
}
} 展开
3个回答
展开全部
是你的相对路径不正确
image文件夹必须同这个文件在同一目录下并存着
image文件夹必须同这个文件在同一目录下并存着
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果当前路径在C:\windows\下 该目录下有a目录,a目录下有b.txt文件。 那么,要b.txt的绝对路径是c:\windows\a\b.txt 相对路径a\b.txt 从程序设计角度,应该是相对路径好,因为如果用绝对路径,如果程序拷贝到另一台电脑上还能找到吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啥
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询