java为什么添加图片后界面没显示?
importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassTupianextendsJ...
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Tupian extends JFrame { public static void main(String[] args) { new Tupian(); } public Tupian() { JPanel panel = new JPanel() { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Image image = new ImageIcon("D:\tuan\5830.png").getImage(); int width = Tupian.getFrames()[0].getWidth(); int heigh = Tupian.getFrames()[0].getHeight(); g.drawImage(image, 0, 0, width, heigh, null); } }; add(panel); setBounds(500, 100, 480, 320); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); }}
只显示一个界面没有图片怎么回事? 展开
只显示一个界面没有图片怎么回事? 展开
11个回答
展开全部
JPanel jPanelToolBar = new JPanel(new BorderLayout()){
public void paintComponent(Graphics g) {
super.paintComponent(g);
Image image = paintPicture("1_03");
if (image != null) {
int height = image.getHeight(this);
int width = image.getWidth(this);
if (height != -1 && height > getHeight())
height = getHeight();
if (width != -1 && width > getWidth())
width = getWidth();
g.drawImage(image, 0, 0, getSize().width, getSize().height, this);
}
}
};
private Image paintPicture(String picName){
String path = pathimage+picName+“.png”;//这是图片路径
Image image = null;
try {
image = ImageIO.read(new File(path));
} catch (IOException e) {
log.error(e);
}
return image;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Image image = paintPicture("1_03");
if (image != null) {
int height = image.getHeight(this);
int width = image.getWidth(this);
if (height != -1 && height > getHeight())
height = getHeight();
if (width != -1 && width > getWidth())
width = getWidth();
g.drawImage(image, 0, 0, getSize().width, getSize().height, this);
}
}
};
private Image paintPicture(String picName){
String path = pathimage+picName+“.png”;//这是图片路径
Image image = null;
try {
image = ImageIO.read(new File(path));
} catch (IOException e) {
log.error(e);
}
return image;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面的回答应该是错误的,跟安全没有关系。ImageIcon的实现写了:
When specifying a path, use the Internet-standard forward-slash ("/") as a separator.
当指定一个路径的时候,使用 Internet-standard的“/”作为分隔符,也就是你应该把路径改成这样:
("D:/tuan/5830.png").
When specifying a path, use the Internet-standard forward-slash ("/") as a separator.
当指定一个路径的时候,使用 Internet-standard的“/”作为分隔符,也就是你应该把路径改成这样:
("D:/tuan/5830.png").
更多追问追答
追问
Image image = new ImageIcon("D:/tuan/5830.png").getImage();
还是什么都没有
追答
1、改了之后编译成功了吗
2、图片路径正确图片确实存在?
3、图片打开正常,格式正常?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有可能是你给他设置的width和height的值比较小或者没设置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主的new ImageIcon("D:\tuan\5830.png");不能引用电脑里的绝对路径哦(因为浏览器的安全问题)。。把图片添加到项目中去。。
追问
直接告诉我怎么改,为什么别人可以俺的不行尼?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把图片放在项目里面·再添加就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询