这个java swing不显示图片,

publicvoidfileSelect(){JFileChooserchooser=newJFileChooser();chooser.setFileSelection... public void fileSelect() {
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setCurrentDirectory(new File("."));

chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
public boolean accept(File file) {
String name = file.getName().toLowerCase();
return name.endsWith(".gif")
|| name.endsWith(".jpg")
|| name.endsWith(".jpeg")
|| file.isDirectory();
}
public String getDescription() {return "图像文件"; }
});
int returnVal = chooser.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
filename = chooser.getSelectedFile().getName();
openPath = chooser.getCurrentDirectory().getPath();
File file = new File(openPath);
pics = file.list();
for(int j=0;j<pics.length;j++)
if(pics[j].equalsIgnoreCase(filename)){
i=j;
break;
}
dir = openPath + "\\"+ filename;
showImagePane.loadImage(dir);
}
展开
 我来答
DoramiHe
2017-12-13 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59541
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部

最近老师布置了一个小项目,要求用JAVA Swing 编写实现一个学生信息管理系统.

上午自习课上,就开始了这个项目的实现.念于JAVA 做图形界面的视觉效果实在一般,就想到平时做B/S项目时先用PS 做好整体界面图形,然后再切割成并

生成网页文件.于是就也用 PS 先做了一张看起来还算满意的登录界面(如下图).

想着把这个漂亮界面做成窗体的背景.然后往指定位置放置输入框和按钮即可.可无奈Swing 的 JFrame 窗体没有

设置背景图像的属性.随后再网上查到可以用JLable设置个图像当做背景图.于是乎就照做了.并往窗体里适当位

置添加了JTextField和JButton.心想这下可大功告成,就等着运行一下欣赏下自己的杰作.怎奈想象很完美,现实

很残酷,运行出来后发现添加的两个JButton不见了.鼠标指到所在位置才会出来.在JTextField里输入了内容,窗

体最小化了一下再打开,上面已输的内容也不显示了,鼠标选中后才现实.

当时挺十分郁闷,后来静下心来想到,这些JTextField,JButton控件都是在JLable上重叠放置的.应该要有个像

C# 的 Win Form里的设置控件顶置顺序,设置哪个控件在最上一层显示.这里应该设置 这些JTextField,JButton

要再背景JLable上层显示就好了.可翻遍JDK也没找到这样的属性.在网上查了好多资料也没查出个究竟.百思不得

其解.一上午的时间过去了,还是没能解决.郁闷的回去吃饭了.

下午到了教室,对于上午出现的问题还是没一点头绪,就开始从最基本的入手,检查下往窗体添加控件的顺序,看了

一遍感觉没问题,先添加了用于当做背景图片的JLable,然后依次添加了JTextField,JPasswordField,JButton.按

常理应该是没问题的.处于走头五路,想着把他们倒着添加以下试试看,最后再添加这个用作背景的JLable.

不试不知道,一试吓一跳啊,没想到把JLable放到最后一个往窗体里添加竟然问题解决了.


这么简单的问题,竟然折腾了半天的时间.想到了最近经常叨念的那句诗,“众里寻他千百度蓦然回首那人却在灯

火阑珊处”.

总结:

在Swing里想设置一个JLable为窗体的背景图像,在往窗体里添加控件时(add)一定要把该标签放在最后一个添加.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式