這篇文章主要介紹如何實(shí)現(xiàn)Swing容器組件的顯示效果,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作的開發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。
本文的演示使用下面幾行代碼就實(shí)現(xiàn)了容器顯示的淡入淡出效果:
/**
* 淡入淡出式顯示內(nèi)容組件的容器
* @author William Chen
*/
public class GlassBox extends JComponent implements ActionListener{
//常數(shù)定義
private static final int ANIMATION_FRAMES=50;
private static final int ANIMATION_INTERVAL=10;
//幀索引
private int frameIndex;
//時(shí)鐘
private Timer timer;
/** Creates a new instance of GlassBox */
public GlassBox() {
}
public void paint(Graphics g){
if(isAnimating()){
//根據(jù)當(dāng)前幀顯示當(dāng)前透明度的內(nèi)容組件
float alpha=(float)frameIndex/(float)ANIMATION_FRAMES;
Graphics2D g2d=(Graphics2D)g;
g2d.setComposite(AlphaComposite.getInstance
(AlphaComposite.SRC_OVER, alpha));//Renderer渲染機(jī)制
super.paint(g2d);
}else{
//如果是***次,啟動(dòng)動(dòng)畫時(shí)鐘
frameIndex=0;
timer=new Timer(ANIMATION_INTERVAL, this);
timer.start();
}
}
//判斷當(dāng)前是否正在進(jìn)行動(dòng)畫
private boolean isAnimating(){
return timer!=null && timer.isRunning();
}
//關(guān)閉時(shí)鐘,重新初始化
private void closeTimer() {
if(isAnimating()){
timer.stop();
frameIndex=0;
timer=null;
}
}
//動(dòng)畫時(shí)鐘處理事件
public void actionPerformed(ActionEvent e) {
//前進(jìn)一幀
frameIndex++;
if(frameIndex>=ANIMATION_FRAMES)
//***一幀,關(guān)閉動(dòng)畫
closeTimer();
else//更新當(dāng)前一幀
repaint();
}
}
將GlassBox類作為JFrame的ContentPane就能實(shí)現(xiàn)窗口內(nèi)容顯示的淡入淡出效果。GlassBox更常見的使用方式是作為普通容器,放在應(yīng)用程序的任何地方。本文附帶的演示程序是將GlassBox是作為普通容器加入JFrame的ContentPane內(nèi)的。
Swing靈活強(qiáng)大的擴(kuò)展和自定義功能得益于其優(yōu)秀的模型和架構(gòu)設(shè)計(jì)。如果程序是僅局限于用幾個(gè)Label和Button等堆砌起來(lái)的簡(jiǎn)單應(yīng)用,你很難體會(huì)到Swing容器組件的優(yōu)點(diǎn),反而會(huì)因?yàn)樗撵`活復(fù)雜覺得它不如SWT等編寫簡(jiǎn)單。然而在你面對(duì)現(xiàn)實(shí)應(yīng)用中的復(fù)雜、靈活多變的界面需求時(shí),Swing的能力就逐步顯現(xiàn)了出來(lái)了。
以上是“如何實(shí)現(xiàn)Swing容器組件的顯示效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:如何實(shí)現(xiàn)Swing容器組件的顯示效果
地址分享:http://muchs.cn/article18/isjcdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、服務(wù)器托管、網(wǎng)站營(yíng)銷、定制開發(fā)、移動(dòng)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)