1. 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());
這樣就可以把圖片放在最下面了,效果圖:
2. myeclipse 用Swing可視化編程,怎麼添加背景圖片
importjava.awt.*;
importjavax.swing.*;
{
publicstaticvoidmain(String[]args){
TestBackgroundColortbc=newTestBackgroundColor();
tbc.setVisible(true);
}
privateJPanelimagePanel;
privateImageIconbackground;
publicTestBackgroundColor(){
background=newImageIcon("C:\Users\Administrator\Documents\
MyFTPRushDownloads\項目\Photoes\007.jpg");//背景圖片
JLabellabel=newJLabel(background);//把背景圖片顯示在一個標簽裡面
//把標簽的大小位置設置為圖片剛好填充整個面板
label.setBounds(0,0,background.getIconWidth(),background.getIconHeight());
//把內容窗格轉化為JPanel,否則不能用方法setOpaque()來使內容窗格透明
imagePanel=(JPanel)this.getContentPane();
imagePanel.setOpaque(false);
//內容窗格默認的布局管理器為BorderLayout
imagePanel.setLayout(newFlowLayout());
imagePanel.add(newJButton("測試按鈕"));
this.getLayeredPane().setLayout(null);
//把背景圖片添加到分層窗格的最底層作為背景
this.getLayeredPane().add(label,newInteger(Integer.MIN_VALUE));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(background.getIconWidth(),background.getIconHeight());
this.setVisible(true);
}
}
實現效果:
3. Java Swing中怎樣簡單方便的設置背景
在java swing中需要為容器添加自定義圖片或者背景圖片。提供兩種簡單的解決方案,一種利用JPanel,另一種利用JLabel,代碼如下:
1、JPanel(源代碼)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package oo;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Drawing {
JFrame jframe = new JFrame();
public static JPanel GImage = null;
public Drawing() {
initFrame();
}
// 初始化窗口
public void initFrame() {
// 利用JPanel添加背景圖片
GImage = new JPanel() {
protected void paintComponent(Graphics g) {
ImageIcon icon = new ImageIcon("image\\benbenla.jpg");
Image img = icon.getImage();
g.drawImage(img, 0, 0, icon.getIconWidth(),
icon.getIconHeight(), icon.getImageObserver());
jframe.setSize(icon.getIconWidth(), icon.getIconHeight());
}
};
jframe.setTitle("測試背景圖片");
jframe.add(GImage);
jframe.pack();
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Drawing();
}
}
2、JLabel源代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package swing.draw;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
/** 利用JLabel來構建圖片 */
public class Drawing2 {
JLabel jlpic = new JLabel();
JFrame jframe = new JFrame();
public Drawing2() {
init1Frame();
}
public void init1Frame() {
ImageIcon icon = new ImageIcon("image\\benbenla.jpg");
icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),
icon.getIconHeight(), Image.SCALE_DEFAULT));
System.out.println(icon.getIconHeight() + "" + icon.getIconWidth());
jlpic.setBounds(0, 0, 1366, 768);
jlpic.setHorizontalAlignment(0);
jlpic.setIcon(icon);
jframe.setSize(1366, 768);
jframe.add(jlpic);
jframe.pack();
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);
}
public static void main(String args[]) {
new Drawing2();
}
}
添加控制項:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
jlpic.setIcon(icon);
Container c = new Container();
JLabel user = new JLabel("用戶:");
JLabel password = new JLabel("密碼:");
JTextField txf_userName = new JTextField();
JPasswordField pwd_password = new JPasswordField()
{
public void paste(){
UIManager.getLookAndFeel().provideErrorFeedback(this);
}
};
user.setBounds(200,25,50,25);
password.setBounds(200,52,50,25);
txf_userName.setBounds(300,25,150,25);
pwd_password.setBounds(300,52,150,25);
c.add(user);
c.add(txf_userName);
c.add(password);
c.add(pwd_password);
c.add(jlpic);
jframe.setSize(1366, 768);
// jframe.add();
jframe.add(c);
4. Java Swing 怎麼自定義界面背景圖片
在java swing中需要為容器添加自定義圖片或者背景圖片。提供兩種簡單的解決方案,一種利用JPanel,另一種利用JLabel,代碼如下:
1、JPanel(源代碼)
packageoo;
importjava.awt.Graphics;
importjava.awt.Image;
importjava.io.File;
importjavax.swing.ImageIcon;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
publicclassDrawing{
JFramejframe=newJFrame();
publicstaticJPanelGImage=null;
publicDrawing(){
initFrame();
}
//初始化窗口
publicvoidinitFrame(){
//利用JPanel添加背景圖片
GImage=newJPanel(){
protectedvoidpaintComponent(Graphicsg){
ImageIconicon=newImageIcon("image\benbenla.jpg");
Imageimg=icon.getImage();
g.drawImage(img,0,0,icon.getIconWidth(),
icon.getIconHeight(),icon.getImageObserver());
jframe.setSize(icon.getIconWidth(),icon.getIconHeight());
}
};
jframe.setTitle("測試背景圖片");
jframe.add(GImage);
jframe.pack();
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicstaticvoidmain(String[]args){
newDrawing();
}
}
2、JLabel源代碼
packageswing.draw;
importjava.awt.Image;
importjavax.swing.ImageIcon;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
/**利用JLabel來構建圖片*/
publicclassDrawing2{
JLabeljlpic=newJLabel();
JFramejframe=newJFrame();
publicDrawing2(){
init1Frame();
}
publicvoidinit1Frame(){
ImageIconicon=newImageIcon("image\benbenla.jpg");
icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),
icon.getIconHeight(),Image.SCALE_DEFAULT));
System.out.println(icon.getIconHeight()+""+icon.getIconWidth());
jlpic.setBounds(0,0,1366,768);
jlpic.setHorizontalAlignment(0);
jlpic.setIcon(icon);
jframe.setSize(1366,768);
jframe.add(jlpic);
jframe.pack();
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);
}
publicstaticvoidmain(Stringargs[]){
newDrawing2();
}
}
添加控制項:
jlpic.setIcon(icon);
Containerc=newContainer();
JLabeluser=newJLabel("用戶:");
JLabelpassword=newJLabel("密碼:");
JTextFieldtxf_userName=newJTextField();
JPasswordFieldpwd_password=newJPasswordField()
{
publicvoidpaste(){
UIManager.getLookAndFeel().provideErrorFeedback(this);
}
};
user.setBounds(200,25,50,25);
password.setBounds(200,52,50,25);
txf_userName.setBounds(300,25,150,25);
pwd_password.setBounds(300,52,150,25);
c.add(user);
c.add(txf_userName);
c.add(password);
c.add(pwd_password);
c.add(jlpic);
jframe.setSize(1366,768);
//jframe.add();
jframe.add(c);
5. java Swing中怎樣設置這樣的背景圖片
指一下方向 ,用起來,不是很難
空白的 整個的背景,覆蓋
public void paint(Graphics g)
方法。
如果列表內容也要修改,要重寫ListCellRenderer類。
6. Java Swing中怎樣簡單方便的設置背景圖片
可以新建個面板,在面板里放入帶圖片的JLabel,填滿面板即可。
JPanel jp = new JPanel(); //新建面板
jp.setLayout(new FlowLayout()); //設置面板布局
ImageIcon ii=new ImageIcon(getClass().getResource("/Picture/i.jpg"));
JLabel uppicture=new JLabel(ii); //往面板里加入JLabel
this.setVisible(true);
7. java swing里如何設置背景圖片
設置背景圖片,可以重寫paint()方法。
具體步驟如下:
import java.awt.*;
import javax.swing.*;
public class bkground {
public static void main(String args[]){
BjFramef=newBjFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class BjFrame extends JFrame {
public static final int WTH=300;
public static final int HHT=200;
public BjFrame() {
setSize(WTH,HHT);
BjPanel pl=new BjPanel();
Container contentPane=getContentPane();
contentPane.add(pl);
pl. setOpaque(true);
}
}
class BjPanel extends JPanel {
Image im;
public BjPanel()
{
im=Toolkit.getDefaultToolkit().getImage("背景.jpg");//需要注意的是如果用相對路徑載入圖片,則圖片文件必須放在類文件所在文件夾或項目的根文件夾中,否則必須用絕對路徑。
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
int imWidth=image.getWidth(this);
Int imHeight=image.getHeight(this); //定義圖片的寬度、高度
int FWidth=getWidth();
int FHeight=getHeight();//定義窗口的寬度、高度
int x=(FWidth-imWidth)/2;
int y=(FHeight-imHeight)/2;//計算圖片的坐標,使圖片顯示在窗口正中間
g.drawImage(image,x,y,null);//繪制圖片
}
}
8. Java swing 窗體如何設置背景圖片
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());
這個是我程序裡面復制出來的,效果就下面圖一樣。
9. 如何在swing裡面設置背景圖片
你的代碼是正確的,可能是你圖片的位置沒有放對。我本地試過了,你可以像下面這樣做:
首先修改一行代碼:/res改為res
Image image=new ImageIcon("res/bg.jpg").getImage();
圖片放到: