gui 编程问题 java
来源:百度知道 编辑:UC知道 时间:2024/05/24 11:13:45
package com.xsg;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class myJPanel extends JPanel{
String imageUrl = "";
public myJPanel(String imageUrl) {
super();
this.imageUrl = imageUrl;
}
java.net.URL imgURL = getClass().getResource(imageUrl);
ImageIcon backGroundImage = new ImageIcon(imgURL);
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(backGroundImage.getImage(),0,0,this);
}
}
在另一个test中进行调用其代码如下:
import javax.swing.JFrame;
import com.xsg.myJPanel;
public class test {
public static void main(String[] args) {
JFrame myf = new JFrame();
myJPanel myp = new myJPanel("/images/loginBackground.jpg&quo
路径不对,如果是相对路径(相对代码所在源文件的路径),则不需要最前面那个斜线,如果能些绝对路径尽量写绝对路径(如C:\\images\\login...),windows上需要两根“\”,unix系统只需要“/”就行。一般安装软件都写相对路径,因为不知道用户具体安装位置。
稍微改了一下可以运行了:
import java.awt.Graphics;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class myJPanel extends JPanel {
String imageUrl = "";
ImageIcon backGroundImage=null;
public myJPanel(String imageUrl) {
super();
this.imageUrl = imageUrl;
URL imgURL = getClass().getResource(imageUrl);
backGroundImage= new ImageIcon(imgURL);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(backGroundImage.getImage(), 0, 0, this);
}
}
Test:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class Test {