欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
用Java Swing制作歡迎屏幕-開(kāi)發(fā)頻道-Java-天極網(wǎng)

用Java Swing制作歡迎屏幕

2004-05-27 11:54作者:出處:cn-java責任編輯:方舟
  現在我們有了一個(gè)很不錯的歡迎屏幕,它可以通過(guò)點(diǎn)擊的方法關(guān)閉,但它不會(huì )自己消失。接下來(lái)我們要加入代碼,使得歡迎屏幕在顯示一定的時(shí)間之后自動(dòng)消失。這里我們要考慮到運用線(xiàn)程。

class SplashWindow3 extends JWindow
{
 public SplashWindow3(String filename, Frame f, int waitTime)
 {
  super(f);
  JLabel l = new JLabel(new ImageIcon(filename));
  getContentPane().add(l, BorderLayout.CENTER);
  pack();
  Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();
  Dimension labelSize = l.getPreferredSize();
  setLocation(screenSize.width/2 - (labelSize.width/2),
  screenSize.height/2 - (labelSize.height/2));
  addMouseListener(new MouseAdapter()
  {
   public void mousePressed(MouseEvent e)
   {
    setVisible(false);
    dispose();
   }
  });
  final int pause = waitTime;
  final Runnable closerRunner = new Runnable()
  {
   public void run()
   {
    setVisible(false);
    dispose();
   }
  };
  Runnable waitRunner = new Runnable()
  {
   public void run()
   {
    try
    {
     Thread.sleep(pause);
     SwingUtilities.invokeAndWait(closerRunner);
    }
    catch(Exception e)
    {
     e.printStackTrace();
     // 能夠捕獲InvocationTargetException
     // 能夠捕獲InterruptedException
    }
   }
  };
  setVisible(true);
  Thread splashThread = new Thread(waitRunner, "SplashThread");
  splashThread.start();
 }
}

  這里的基本思路是利用一個(gè)在一定時(shí)間內暫停等待的Thread對象。在上面的代碼中,線(xiàn)程的暫停時(shí)間是4秒。當這個(gè)線(xiàn)程喚醒時(shí),它將關(guān)閉歡迎屏幕。由于Swing是非線(xiàn)程安全的,除非代碼在事件分派線(xiàn)程上執行,否則它就不應該影響任何UI組件的狀態(tài)。所謂事件分派線(xiàn)程,就是Swing中負責繪圖和事件處理的線(xiàn)程。

  為了解決這個(gè)問(wèn)題,Swing設計者賦予我們安全地把Runnable對象加入UI事件隊列的能力。在本例中,我們用可運行對象closerRunner完成最關(guān)鍵的工作。我們把可運行對象傳入SwingUtilities.invokeAndWait()靜態(tài)方法,然后wingUtilities.invokeAndWait()進(jìn)行所有未完成的UI操作,并執行傳遞給該方法的可運行對象closerRunner的run方法。通過(guò)運用一個(gè)獨立的線(xiàn)程負責歡迎屏幕的關(guān)閉操作,應用擔負起了顯示和關(guān)閉歡迎屏幕之間的所有操作。

  如果要讓歡迎屏幕總是顯示且用戶(hù)不能關(guān)閉它,你必須刪除那些隱藏歡迎屏幕的代碼。如果要讓歡迎屏幕只能由用戶(hù)手工關(guān)閉,你可以象使用任何其他JWindow對象一樣調用SplashWindow3對象上的setVisible(false)和dispose()方法。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Java1.6.0實(shí)現系統托盤(pán)技術(shù)
swing基礎(一)
《Java語(yǔ)言編程基礎立體化實(shí)用教程》2-3 登錄窗體的實(shí)現
界面窗口功能
java中的并發(fā)及其安全性
深入淺出Java多線(xiàn)程(2)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久