Ⅰ 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);
Ⅱ java怎麼做swing界面
swing做界面,一般需要一種基本知識:
一:關於布局的知識,常用的布局要熟悉,比如邊界布局,流式布局,絕對布局,網格布局等. 布局決定了組件(按鈕,文本框,下拉框等)所在的位置
二:關於事件響應機制,比如點擊按鈕事件,如何響應.
三:一些常用的組件,按鈕, 文本框, 下拉框,復選按鈕, 單選按鈕, 等
舉例: 簡單的代碼,實現給窗口隨機更換背景色
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
{
publicDemoFrame(){
JButtonjb1=newJButton("點擊換背景色");//定義按鈕組件
jb1.addActionListener(this);//給按鈕添加事件響應機制,按鈕點擊時執行actionPerformed方法
add(jb1);//把組件添加到窗口
setLayout(newFlowLayout());//流式布局
setTitle("Color");//窗口標題
setSize(300,200);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//點擊關閉時退出系統
setVisible(true);//窗口可見
}
publicstaticvoidmain(String[]args){//main方法,啟動窗口
newDemoFrame();//創建窗口
}
publicvoidactionPerformed(ActionEvente){//當按鈕被點擊時,執行下面的代碼
//隨機顏色,並設置成為窗口的背景色
getContentPane().setBackground(newColor((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256)));
}
}
Ⅲ Java中swing組件如何自定義或者說定製