public class Xianshiping {
public static void main (String args[]) {
ImageFrame frame = new ImageFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class ImageFrame extends JFrame{
// 显示文本
public void paint(Graphics g) {
g.setFont(new Font("SansSerif",Font.PLAIN,500));
g.drawString("95.5", 30, 550);
}
//设置背景图片
public ImageFrame()
{
setTitle("ImageTest");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
ImagePanel panel = new ImagePanel();
add(panel);
}
public static final int DEFAULT_WIDTH=500;
public static final int DEFAULT_HEIGHT=500; }
class ImagePanel extends JPanel{
public ImagePanel(){
try{
image = ImageIO.read(new File("img.jpg"));
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(image==null) return;
int imageWidth=image.getWidth(this);
int imageHeight=image.getHeight(this);
g.drawImage(image,0,0,null);
for(int i=0;i*imageWidth<=getWidth();i++)
for(int j=0;j*imageHeight<=getHeight();j++)
if(i+j>0)
g.copyArea(0,0,imageWidth,imageHeight,i*imageWidth,j*imageHeight);
}
private Image image;
}为什么我运行起来的时候只显示文字 不显示图片。而且当我把显示文字的代码注释掉之后,就能显示图片了。这是什么原因,求帮助,谢谢!
public static void main (String args[]) {
ImageFrame frame = new ImageFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class ImageFrame extends JFrame{
// 显示文本
public void paint(Graphics g) {
g.setFont(new Font("SansSerif",Font.PLAIN,500));
g.drawString("95.5", 30, 550);
}
//设置背景图片
public ImageFrame()
{
setTitle("ImageTest");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
ImagePanel panel = new ImagePanel();
add(panel);
}
public static final int DEFAULT_WIDTH=500;
public static final int DEFAULT_HEIGHT=500; }
class ImagePanel extends JPanel{
public ImagePanel(){
try{
image = ImageIO.read(new File("img.jpg"));
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(image==null) return;
int imageWidth=image.getWidth(this);
int imageHeight=image.getHeight(this);
g.drawImage(image,0,0,null);
for(int i=0;i*imageWidth<=getWidth();i++)
for(int j=0;j*imageHeight<=getHeight();j++)
if(i+j>0)
g.copyArea(0,0,imageWidth,imageHeight,i*imageWidth,j*imageHeight);
}
private Image image;
}为什么我运行起来的时候只显示文字 不显示图片。而且当我把显示文字的代码注释掉之后,就能显示图片了。这是什么原因,求帮助,谢谢!
解决方案 »
- 有人能告诉我JAVA EE和JAVA WEB的关系和区别吗?
- ireport+jasperreport 问题。常做报表的进来给咱解答下!
- tomcat5.0,如何在多个虚拟目录中配多个不同的连接池?
- 一个奇怪的问题请大家帮忙
- POI操作Excel的问题
- 2.0无状态会话bean到底和有状态的有什么区别?
- 乱码的奇怪问题?
- 使用java.sql.prepareStatement往mysql里面插入带有单引号(')的字段该如何处理啊?
- 客戶機測試中遇到的問題,高手請進
- wl7.0与sql 数据库池连接。。
- 手动new的对象,是否可以通过@EJB注入属性
- ultraedit的重新载入的快捷键是什么啊?
public void paint(Graphics g) {
super.paint(g);
g.setFont(new Font("SansSerif",Font.PLAIN,500));
g.drawString("95.5", 30, 550);
}