1. java窗体如何添加背景图片
2. Java如何添加背景图片
class ImageFrame extends JFrame
{
public ImageFrame()
{
setTitle("Color");
setSize(DEFAULT_WITH,DEFAULT_HEIGH);
ImagePanel fp=new ImagePanel();
add(fp);
}
public static final int DEFAULT_WITH=300;
public static final int DEFAULT_HEIGH=300;
}
class ImagePanel extends JPanel
{
public ImagePanel()
{
try
{
image = ImageIO.read(new File("Pic\\cat.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.Area(0, 0,imageWidth, imageHeight, i*imageWidth,j*imageHeight);
}
private Image image;
}
然后在main函数中添加
ImageFrame frame=new ImageFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
就OK了,我写的有点复杂了,但是功能全,如果你想要简单的,可以复制里面的一点主要代码就行了
3. java中的swing设计界面时怎么加上背景图片。而不覆盖什么label等控件
通过以下方式设置下背景就可以了:
background=newImageIcon("images/backImage.png");
backImage=newJLabel(background);
backImage.setBounds(0,0,background.getIconWidth(),
background.getIconHeight());
backPanel=(JPanel)this.getContentPane();
backPanel.setOpaque(false);
this.getLayeredPane().setLayout(null);
this.getLayeredPane().add(backImage,newInteger(Integer.MIN_VALUE));
backPanel.setLayout(newBorderLayout());
这样就可以把图片放在最下面了,效果图:
4. 怎么在Java里添加背景图片
//一个小例子
//注意:
//当前目录下要有一个p.jpg文件
//压缩这个文件使它的大小尽量小,最好只有几十KB
//否则无法显示背景图片
import javax.swing.*;
import java.awt.*;
public class Demo extends JFrame {
public static void main(String[] args) {
new Demo();
}
public Demo() {
//加载图片
pic=Toolkit.getDefaultToolkit().getImage("p.jpg");
MediaTracker t=new MediaTracker(this);
t.addImage(pic,1);
try
{
t.waitForID(1);
}
catch(Exception e)
{
}
setSize(400,400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
//覆盖(重写)paint方法以在窗口中添加一张图片
public void paint(Graphics g) {
g.drawImage(pic,0,0,null);
}
Image pic;
}