JAVA新手,图片显示不出,求大神解答
importjava.awt.Dimension;importjava.awt.Frame;importjava.awt.Graphics;importjava.awt....
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
public class plane extends Frame implements ActionListener,Runnable
{
public static void main(String[] args)
{
new plane();
}
Image image;
public plane() {
Frame fr= new Frame("看,灰机!!!");
//fr.pack();
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screen = tk.getScreenSize();
int screenh = screen.height;
int screenw = screen.width;
fr.setSize(screenw/2,screenh/2);
fr.setLocation(screenw/4,screenh/4);
Toolkit tk1 = Toolkit.getDefaultToolkit();
image = tk1.getImage("F:\\EclipseWebProject\\plane.jpg"); //这图片显示不出
fr.setVisible(true);
new Thread(this).start();
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
}
public void keyTyped(KeyEvent e)
{
char c = e.getKeyChar();
if (c == 'w')
{
}
}
public void run() {
// TODO 自动生成的方法存根
repaint();
}
public void paint(Graphics g)
{
g.drawImage(image,0, 0, 200,200, this);
}
} 展开
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
public class plane extends Frame implements ActionListener,Runnable
{
public static void main(String[] args)
{
new plane();
}
Image image;
public plane() {
Frame fr= new Frame("看,灰机!!!");
//fr.pack();
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screen = tk.getScreenSize();
int screenh = screen.height;
int screenw = screen.width;
fr.setSize(screenw/2,screenh/2);
fr.setLocation(screenw/4,screenh/4);
Toolkit tk1 = Toolkit.getDefaultToolkit();
image = tk1.getImage("F:\\EclipseWebProject\\plane.jpg"); //这图片显示不出
fr.setVisible(true);
new Thread(this).start();
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
}
public void keyTyped(KeyEvent e)
{
char c = e.getKeyChar();
if (c == 'w')
{
}
}
public void run() {
// TODO 自动生成的方法存根
repaint();
}
public void paint(Graphics g)
{
g.drawImage(image,0, 0, 200,200, this);
}
} 展开
4个回答
展开全部
image = tk1.getImage("F:\\EclipseWebProject\\plane.jpg"); //这图片显示不出
光有这句是不行的,
ImageIcon iicon = new ImageIcon("F:/EclipseWebProject/plane.jpg");
Image image = iicon.getImage();
或者用JLabel image= new JLabel(iicon);也行
不过我建议别用绝对地址,换一台电脑图片就无法显示
光有这句是不行的,
ImageIcon iicon = new ImageIcon("F:/EclipseWebProject/plane.jpg");
Image image = iicon.getImage();
或者用JLabel image= new JLabel(iicon);也行
不过我建议别用绝对地址,换一台电脑图片就无法显示
追问
你说那个我用过,可是当我想改变图片位置的时候怎么改呢?
那地址是没错的
image = tk1.getImage("F:\\EclipseWebProject\\plane.jpg");这句我知道显示不出来,可是在paint函数里面写了显示的代码了
追答
....setIcon(...);//重新设置图片,实现更换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
lz的图片怎么写死了、、、、
一般是取到当前项目所在的盘符,然后取得图片的ba?
一般是取到当前项目所在的盘符,然后取得图片的ba?
追问
不懂,刚学还没学到那么深
追答
image = tk1.getImage(System.getProperty("user.dir") + " \\plane.jpg");
您试试看?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要确保路径没有错误
ImageIcon iicon = new ImageIcon("F:/EclipseWebProject/plane.jpg");
Image image = iicon.getImage();
ImageIcon iicon = new ImageIcon("F:/EclipseWebProject/plane.jpg");
Image image = iicon.getImage();
追问
追答
给你一个JPanel类 自己传个Image参数 然后把面板加到JFrame就可以了
public class Draw_ImageViewer extends JPanel{
private Image image; private boolean stretched = true;private int xCoordinate;private int yCoordinate;
public Draw_ImageViewer() { }
public Draw_ImageViewer(Image image) {
super();
this.image = image; }
protected void paintComponent(Graphics g){
super.paintComponent(g);
if(image != null){
if(isStretched()){
g.drawImage(image, xCoordinate, yCoordinate, getSize().width, getSize().height, this);
}else{
g.drawImage(image, xCoordinate, yCoordinate, this);
} } }
public void setxCoordinate(int xCoordinate) { this.xCoordinate = xCoordinate;}
public void setyCoordinate(int yCoordinate) {this.yCoordinate = yCoordinate; }}
public class JFrameGui extends JFrame {public JFrameGui() {ImageIcon iicon = new ImageIcon("F:/EclipseWebProject/plane.jpg");Image image = iicon.getImage();Draw_ImageViewer p = new Draw_ImageViewer(image); p.setxCoordinate(100);p.setyCoordinate(100);add(p);}}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图片没有加进容器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询