JAVA桌面应用背景切换测试源码
/*
* BackgroundTest.java
* Created By 翊雨の靈
* Created on 2011-5-5, 15:01:41
*/
package memo;
import java.awt.Dimension; import java.awt.Toolkit;
import javax.swing.ImageIcon; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel;
public class BackgroundTest extends javax.swing.JFrame {
private static JPanel pane;
private static JLabel bgimg;
private static JComboBox itemselect;
public BackgroundTest() { //构造
,与类同名,调用该类默认先执行构造方法
SetWindows(); //你懂的
setItem(); //你懂的
}
private void SetWindows() {
int x = 610;
int y = 510;
Toolkit theKit = getToolkit();
Dimension wndSize = theKit.getScreenSize(); //获取当
前显示器分辨率
this.setSize(new Dimension(x, y)); //设置自己主窗体
大小
this.setBounds((wndSize.width - x) / 2, (wndSize.height - y) / 2, x, y); //主窗体在屏幕居中
this.setVisible(true); //窗体可见
this.setResizable(false); //窗体大小不可更改
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//默认退出按钮生效
this.setTitle("背景切换测试");
}
private void setItem() {
pane = new JPanel(); //设置主面板
ImageIcon background = new ImageIcon(getClass().getResource("bg/1.jpg")); //设置默认背
景
bgimg = new JLabel(background); //设置背景图
bgimg.setBounds(0, 0, background.getIconWidth(),
background.getIconHeight()); //设置背景大小
itemselect = new JComboBox(); // 下拉选择器
itemselect.setModel(new
javax.swing.DefaultComboBoxModel(new String[]{"0.jpg",
"1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg"})); //
设置选择项目
itemselect.setSelectedItem("1.jpg"); //设置默认选择
项
itemselect.setBounds(50, 400, 100, 30); //...你懂的
itemselect.addItemListener(new java.awt.event.ItemListener() {
@Override
public void
itemStateChanged(java.awt.event.ItemEvent evt) {
setBg(); //调用 背景设置方法
}
});
bgimg.add(itemselect); // 将 下拉选择器加入到背景标
签中
//bg.add(itemselect);
pane.add(bgimg); //将背景标签加入到主面板中
setContentPane(pane); //设置当前窗体主面板
}
private void setBg() {
String img = itemselect.getSelectedItem().toString();
//获取下拉选择器当前选择的项,返回为 String
ImageIcon background = new
ImageIcon(getClass().getResource("bg/" + img)); //new 一个图
片对象,路径为 ... ( bg 是图片的包名...)
bgimg.setIcon(background); //重新替换掉背景图
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new BackgroundTest().setVisible(true);
}
});
}
}