关于label.setIcon(new ImageIcon("xxx.jpg"));无法显示问题
2017-12-24 00:09
495 查看
运行课本实例发现的问题如题。
代码:
package ksxt;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
public class ClientWindow extends JFrame{
ClientLogin clientLogin;
GetTestFile getTestFile;
ClientTestArea clientTestArea;
JLabel label=null;
JTabbedPane tabbedPane;
public ClientWindow(){
setTitle("标准化考试系统(客户端)");
label=new JLabel();
label.setText(getTitle());
label.setForeground(Color.orange);
label.setFont(new Font("隶书",Font.BOLD,22));
label.setIcon(new ImageIcon("welcome.jpg"));
label.setHorizontalTextPosition(SwingConstants.CENTER);
label.setBackground(Color.green);
tabbedPane=new JTabbedPane(JTabbedPane.LEFT);
clientLogin=new ClientLogin();
getTestFile=new GetTestFile();
clientTestArea=new ClientTestArea();
tabbedPane.add("系统标题",label);
tabbedPane.add("登录",clientLogin);
tabbedPane.add("选择试卷",getTestFile);
tabbedPane.add("答卷",clientTestArea);
add(tabbedPane,BorderLayout.CENTER);
validate();
setVisible(true);
setBounds(100,50,460,280);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
int n=JOptionPane.showConfirmDialog(null,"确认退出吗?","确认对话框",
JOptionPane.YES_NO_OPTION );
if(n==JOptionPane.YES_OPTION)
System.exit(0);
}});
validate();
}
public static void main(String args[]){
new ClientWindow();
}
}
自然认为welcome.jpg文件只要与当前类文件在同一目录下即可,其实所谓相对路径的起点是工程的根目录
如图所示,此时运行ksxt应用程序,welcome.jpg在此ksxt目录下是无法显示的。Test2017java才是相对路径的起点,故修改方式可以是:
①在Test2017java文件夹下copy一个welcome.jpg文件
②将label.setIcon(new ImageIcon("welcome.jpg"));改为
label.setIcon(new ImageIcon("src/ksxt/welcome.jpg"));
或者是label.setIcon(new ImageIcon("./src/ksxt/welcome.jpg"));
参考资料:http://www.doc88.com/p-5015902363089.html
代码:
package ksxt;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
public class ClientWindow extends JFrame{
ClientLogin clientLogin;
GetTestFile getTestFile;
ClientTestArea clientTestArea;
JLabel label=null;
JTabbedPane tabbedPane;
public ClientWindow(){
setTitle("标准化考试系统(客户端)");
label=new JLabel();
label.setText(getTitle());
label.setForeground(Color.orange);
label.setFont(new Font("隶书",Font.BOLD,22));
label.setIcon(new ImageIcon("welcome.jpg"));
label.setHorizontalTextPosition(SwingConstants.CENTER);
label.setBackground(Color.green);
tabbedPane=new JTabbedPane(JTabbedPane.LEFT);
clientLogin=new ClientLogin();
getTestFile=new GetTestFile();
clientTestArea=new ClientTestArea();
tabbedPane.add("系统标题",label);
tabbedPane.add("登录",clientLogin);
tabbedPane.add("选择试卷",getTestFile);
tabbedPane.add("答卷",clientTestArea);
add(tabbedPane,BorderLayout.CENTER);
validate();
setVisible(true);
setBounds(100,50,460,280);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
int n=JOptionPane.showConfirmDialog(null,"确认退出吗?","确认对话框",
JOptionPane.YES_NO_OPTION );
if(n==JOptionPane.YES_OPTION)
System.exit(0);
}});
validate();
}
public static void main(String args[]){
new ClientWindow();
}
}
自然认为welcome.jpg文件只要与当前类文件在同一目录下即可,其实所谓相对路径的起点是工程的根目录
如图所示,此时运行ksxt应用程序,welcome.jpg在此ksxt目录下是无法显示的。Test2017java才是相对路径的起点,故修改方式可以是:
①在Test2017java文件夹下copy一个welcome.jpg文件
②将label.setIcon(new ImageIcon("welcome.jpg"));改为
label.setIcon(new ImageIcon("src/ksxt/welcome.jpg"));
或者是label.setIcon(new ImageIcon("./src/ksxt/welcome.jpg"));
参考资料:http://www.doc88.com/p-5015902363089.html
相关文章推荐
- 关于无法显示该网页,弹出对话框显示"Internet Explorer无法打开Internet站点xxx,已终止操作"问题的解决方法
- ExtJS 中的compositefield 实现混合显示多种组件,label无法消除 残留"..."问题
- java在JFrame里 this.setIconImage((new ImageIcon("image\\qq.jpg")).getImage());
- 关于ionic 打包后 background-image 无法显示 的问题
- context.Response.ContentType = "image/jpg"导致的无法显示 XML 页
- 解决关于vs2010中"w"无法 显示的问题
- node中"require"不是内部或外部命令,也不是可运行的程序 或批处理文件;express -V无法显示express版本信息等问题。
- 关于jsp页面上无法显示图片的问题
- 关于linq to sql调用存储过程,出现"无法枚举查询结果多次"的问题
- "无法连接到服务器,用户xxx登陆失败" 解决问题
- 关于低版本IE浏览器无法显示图片的问题
- WPF 图片无法显示……关于Application及SiteOfOrigin的路径问题
- new ImageIcon(String filename)的路径问题
- 关于从后台向前台传递html代码在前台无法显示的问题
- 关于JSP中动态包含请求无法显示页面的问题 post请求页面中包含get请求
- 关于显示透空歌词的思路 - 回复 "zhaoboaidelphi" 的问题
- 解决WinForm中ComboBox控件的“设置"DataSourse”属性后无法修改项集合”以及两个不相关联的ComboxBox控件实现数据列表显示不可实现的问题
- VS2015/2017无法启动UWP设计器,显示"从位置 Microsoft.NET.CoreRuntime.1.1.appx 中打开程序包失败"的问题解决
- 记录一下,关于qq空间分享的Icon不显示的问题
- 关于VS2008问题“无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。“