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;
}