首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

在JPanel为什么添加不上图片 初学者级

2011-12-01 
在JPanel为什么添加不上图片 菜鸟级import java.awt.BasicStrokeimport java.awt.Colorimport java.awt.

在JPanel为什么添加不上图片 菜鸟级
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.Ellipse2D.Double;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ChessPanel extends JFrame {
public ChessPanel()
{
setTitle("Chess");
setSize(800,700);
add(new Chess());
}
private class Chess extends JPanel
{
public void paintComponent(Graphics g)
{
Graphics2D g2=(Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

Rectangle2D rect=new Rectangle2D.Double(100,100,500,500);
//double l=250*Math.sin(Math.PI/5)*2;
//double ly=
g2.draw(rect);
Ellipse2D ellipse=new Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
// Line2D line1=new Line2D.Double(200,200,500,200);
// Line2D line2=new Line2D.Double()
// g2.draw(line1);
g2.setBackground(Color.BLUE);
//try {
//Image image=ImageIO.read(new File("pic/a.jpg"));
// g2.drawImage(image, 0, 0, null);
//
//} catch (IOException e) {
//// TODO Auto-generated catch block
//e.printStackTrace();
//}
// Image backGround=this.getToolkit().getImage("pic/a.jpg");
ImageIcon img = new ImageIcon("a.jpg");
g2.drawImage(img.getImage(), 0, 0, null);
// g2.drawImage(backGround,0,0,500,500,this);
// g2.drawImage(new Image("pic/a.jpg"), 100, 100, 300, 100, 100, 300, 300, 300, "dd");
}
}
  public static void main(String[] a)
  {
  ChessPanel frame=new ChessPanel();
  frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
  frame.setVisible(true);
 
  }
}
 我只是想为JPanel添加一个背景图片 为上面方法都不能实现 能简述以下 以上方法的区别吗 谢谢

[解决办法]
我也是菜鸟,我知道怎么改能添加图片,原因不知

ImageIcon img = new ImageIcon("a.jpg");这句改下:
ImageIcon img = new ImageIcon(this.getClass().getClassLoader().getResource("a.jpg"));
我试过,没问题。

热点排行