2 个解决方案
#1
没懂楼主的意思,因为没有用过delphi
不过java里面实现一个有背景图片的窗体很简单,
比如,你需要一个有背景图片的JPanel,就可以按照下面的方法做:
import com.ynchun.project.timer.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class ImagePanel extends JPanel {
public ImagePanel (ImageIcon imageIcon) {
setOpaque(false);
_img = imageIcon.getImage();
setPreferredSize(new Dimension(imageIcon.getIconWidth(),imageIcon.getIconHeight()));
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(_img,0,0,this);
}
public void setBorder(Border b) {
super.setBorder(b);
}
public void setImage(ImageIcon img) {
if (img != null) {
this._img = img.getImage();
}
}
private Image _img;
}
当然,如果希望实现一个有背景图片的JWindow,JFrame之类的,方法也相同,
可以重载paintComponent方法来实现,或者用别的方法,比如先做一个有背景图片的
JPanel,把这个JPanel加到JWindow,或者JFrame的container里面,然后其他的组件就
加到这个JPanel上面.这个方法也一样
不过java里面实现一个有背景图片的窗体很简单,
比如,你需要一个有背景图片的JPanel,就可以按照下面的方法做:
import com.ynchun.project.timer.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class ImagePanel extends JPanel {
public ImagePanel (ImageIcon imageIcon) {
setOpaque(false);
_img = imageIcon.getImage();
setPreferredSize(new Dimension(imageIcon.getIconWidth(),imageIcon.getIconHeight()));
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(_img,0,0,this);
}
public void setBorder(Border b) {
super.setBorder(b);
}
public void setImage(ImageIcon img) {
if (img != null) {
this._img = img.getImage();
}
}
private Image _img;
}
当然,如果希望实现一个有背景图片的JWindow,JFrame之类的,方法也相同,
可以重载paintComponent方法来实现,或者用别的方法,比如先做一个有背景图片的
JPanel,把这个JPanel加到JWindow,或者JFrame的container里面,然后其他的组件就
加到这个JPanel上面.这个方法也一样
#2
你想给谁加背景图片就在谁的paint函数中用
g.drawImage画图片。
画什么就是什么。
可以参考代码:
ImageIcon ii = new ImageIcon("d:\\test.jpg");
Image img = ii.getImage();
ImageObserver imgobs = ii.getImageObserver();
g.drawImage(img,0,0,img.getWidth(imgobs),img.getHeight(imgobs),0,0,this.getWidth(),this.getHeight(),imgobs);
g.drawImage画图片。
画什么就是什么。
可以参考代码:
ImageIcon ii = new ImageIcon("d:\\test.jpg");
Image img = ii.getImage();
ImageObserver imgobs = ii.getImageObserver();
g.drawImage(img,0,0,img.getWidth(imgobs),img.getHeight(imgobs),0,0,this.getWidth(),this.getHeight(),imgobs);
#1
没懂楼主的意思,因为没有用过delphi
不过java里面实现一个有背景图片的窗体很简单,
比如,你需要一个有背景图片的JPanel,就可以按照下面的方法做:
import com.ynchun.project.timer.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class ImagePanel extends JPanel {
public ImagePanel (ImageIcon imageIcon) {
setOpaque(false);
_img = imageIcon.getImage();
setPreferredSize(new Dimension(imageIcon.getIconWidth(),imageIcon.getIconHeight()));
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(_img,0,0,this);
}
public void setBorder(Border b) {
super.setBorder(b);
}
public void setImage(ImageIcon img) {
if (img != null) {
this._img = img.getImage();
}
}
private Image _img;
}
当然,如果希望实现一个有背景图片的JWindow,JFrame之类的,方法也相同,
可以重载paintComponent方法来实现,或者用别的方法,比如先做一个有背景图片的
JPanel,把这个JPanel加到JWindow,或者JFrame的container里面,然后其他的组件就
加到这个JPanel上面.这个方法也一样
不过java里面实现一个有背景图片的窗体很简单,
比如,你需要一个有背景图片的JPanel,就可以按照下面的方法做:
import com.ynchun.project.timer.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class ImagePanel extends JPanel {
public ImagePanel (ImageIcon imageIcon) {
setOpaque(false);
_img = imageIcon.getImage();
setPreferredSize(new Dimension(imageIcon.getIconWidth(),imageIcon.getIconHeight()));
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(_img,0,0,this);
}
public void setBorder(Border b) {
super.setBorder(b);
}
public void setImage(ImageIcon img) {
if (img != null) {
this._img = img.getImage();
}
}
private Image _img;
}
当然,如果希望实现一个有背景图片的JWindow,JFrame之类的,方法也相同,
可以重载paintComponent方法来实现,或者用别的方法,比如先做一个有背景图片的
JPanel,把这个JPanel加到JWindow,或者JFrame的container里面,然后其他的组件就
加到这个JPanel上面.这个方法也一样
#2
你想给谁加背景图片就在谁的paint函数中用
g.drawImage画图片。
画什么就是什么。
可以参考代码:
ImageIcon ii = new ImageIcon("d:\\test.jpg");
Image img = ii.getImage();
ImageObserver imgobs = ii.getImageObserver();
g.drawImage(img,0,0,img.getWidth(imgobs),img.getHeight(imgobs),0,0,this.getWidth(),this.getHeight(),imgobs);
g.drawImage画图片。
画什么就是什么。
可以参考代码:
ImageIcon ii = new ImageIcon("d:\\test.jpg");
Image img = ii.getImage();
ImageObserver imgobs = ii.getImageObserver();
g.drawImage(img,0,0,img.getWidth(imgobs),img.getHeight(imgobs),0,0,this.getWidth(),this.getHeight(),imgobs);