import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.*;
import java.awt.*;
public class Frame1 extends JFrame {
JPanel contentPane;
JLabel jLabel1 = new JLabel();
BorderLayout borderLayout1 = new BorderLayout();
BG background = new BG();
public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 300));
setTitle("Frame Title");
jLabel1.setText("jLabel1");
contentPane.add(background, java.awt.BorderLayout.SOUTH);
}
class BG extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
Image img=Toolkit.getDefaultToolkit().getImage("F:\\1.jpg");
g.drawImage(img,0,0,this.getSize().width,this.getSize().height,this);//是怎么产生的??????
}
}//我是想在jPanal上加图片!
}
----------------解决方案--------------------------------------------------------
你想问什么?
并且你这种编程方式也不好,因为每次重画的时候你都要去读取图片
并且图片名最好也不是取绝对名称,这样不好移植
----------------解决方案--------------------------------------------------------
呵呵,谢谢!我想知道最下面加红的一段是怎么产生的!作用是什么?
public void paintComponent(Graphics g) {
super.paintComponent(g);
Image img=Toolkit.getDefaultToolkit().getImage("F:\\1.jpg");
g.drawImage(img,0,0,this.getSize().width,this.getSize().height,this);
}
----------------解决方案--------------------------------------------------------
public void paintComponent(Graphics g) {
super.paintComponent(g);//调用父类的方法,清除以前画的
Image img=Toolkit.getDefaultToolkit().getImage("F:\\1.jpg");//得到图像的引用
g.drawImage(img,0,0,this.getSize().width,this.getSize().height,this);//把它画出来
}
这个方法是重写了父类JPanel的方法
它的作用是画组件
用此方法可以实现背景图片
----------------解决方案--------------------------------------------------------
十分感谢峰哥!
----------------解决方案--------------------------------------------------------
我是菜鸟
看了你们的代码真是受益不浅
----------------解决方案--------------------------------------------------------
但是如何在文件选择框里选好图片后,在JPANEL上显示出来
----------------解决方案--------------------------------------------------------
你们的这个论坛是用ASP.NET做的吗?
----------------解决方案--------------------------------------------------------