微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2SE >

请教一个Swing的技术问题。

时间:2014-04-14 19:55  浏览:努力统计中...
高手,您好: 我写了一个Swing的小窗口,“Advertisement类”,为了进行这个类型的美化,我把其中的JPanel进行了一层“CustomImgPanel”的添加,Advertisement类进行添加上述面板后的源代码如下
高手,您好:
       我写了一个Swing的小窗口,“Advertisement类”,为了进行这个类型的美化,我把其中的JPanel进行了一层“CustomImgPanel”的添加,Advertisement类进行添加上述面板后的源代码如下:
       
package c_port_packageBJTeacher;

import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Advertisement extends JFrame implements Serializable,WindowListener{
/**
 * 
 */

private static final long serialVersionUID = 1L;
/**
 * @param args
 */
JPanel jp = null;
CustomImgPanel imgPanel = null;
static HashMap<Integer,MyJButton199> btnbox = new HashMap<Integer,MyJButton199>();
Font fnt = new Font("华文中宋",0,20);
FriendArrayfresh jb882 = null;

public Advertisement(){
this.setVisible(false);
this.setTitle("请选择您的英语上门 补课专家");
for(Integer i = 168;i<200;i++){
MyJButton199 btns = new MyJButton199(Recv.MyJButton0content[i],Recv.MyJButton0URL[i],Recv.MyJButton0Teacher_ficia[i],Recv.MyJButton0SystempriKey[i],Recv.Teacheronline[i],Recv.MyJButton0complicatingnum[i]);
btnbox.put(i,btns);
}
jp = new JPanel();
jb882 =  new FriendArrayfresh(btnbox,this);
setBounds(200,110,1008,568);
double panelWidth = Toolkit.getDefaultToolkit().getScreenSize().getWidth();  
double panelHeight = Toolkit.getDefaultToolkit().getScreenSize().getHeight() - 25 - 25 - 20;//(两个25是内外两个窗口标题栏的高度,20是底部更新进度栏的高度)  
imgPanel = new CustomImgPanel(panelWidth,panelHeight,"F:\\My_workspace - 0 - 副本 - 副本(now)\\Copy (2) of Copy of Copy of MyWorkNowprogress Bak\\Pic\\Advertisement.png");  
imgPanel.setLayout(new GridLayout(14,0));
jp.add(imgPanel,-1);//参数-1的作用是让这个背景图片面板保持在所有面板的最下面,相当于WEB中的z-index属性 
for(Integer i =168;i<200;i++){
imgPanel.add(btnbox.get(i));
}
this.add(jp);
for(int i =168;i<200;i++){
btnbox.get(i).setFont(fnt);
}
}

public void UpdateMyUI(){
for(Integer i =168;i<200;i++){
btnbox.get(i).updateUI();
}
this.invalidate();
    this.repaint();
    this.setVisible(true);
}

public static void main(String[] args){
new Advertisement().UpdateMyUI();
}

@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
this.dispose();
}

@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
this.dispose();
}

@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub

}

}

        其中第42行的代码的绝对路径:“"F:\\My_workspace - 0 - 副本 - 副本(now)\\Copy (2) of Copy of Copy of MyWorkNowprogress Bak\\Pic\\Advertisement.png",之下的图片为:
       
       其中的”CustomImgPanel“类型的源代码如下:
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线------