?? splashwindow.java
字號(hào):
package main;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JWindow;
import javax.swing.SwingUtilities;
/*
軟件作者: 熊錫君,時(shí)守剛
軟件版權(quán)歸作者所有,其他人可以對(duì)軟件進(jìn)行修改,可以使用軟件代碼,(按類使用請(qǐng)保留作者信息)
*/
public class SplashWindow extends JWindow {
/**
* 構(gòu)造函數(shù)
* @param filename 歡迎屏幕所用的圖片
* @param frame 歡迎屏幕所屬的窗體
* @param waitTime 歡迎屏幕顯示的事件
*/
public SplashWindow(String filename, JFrame frame, int waitTime) {
super(frame);
// 建立一個(gè)標(biāo)簽,標(biāo)簽中顯示圖片。
JLabel label = new JLabel(new ImageIcon(filename));
// 將標(biāo)簽放在歡迎屏幕中間
getContentPane().add(label, BorderLayout.CENTER);
pack();
// 獲取屏幕的分辨率大小
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
// 獲取標(biāo)簽大小
Dimension labelSize = label.getPreferredSize();
// 將歡迎屏幕放在屏幕中間
setLocation(screenSize.width / 2 - (labelSize.width / 2),
screenSize.height / 2 - (labelSize.height / 2));
// 增加一個(gè)鼠標(biāo)事件處理器,如果用戶用鼠標(biāo)點(diǎn)擊了歡迎屏幕,則關(guān)閉。
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
setVisible(false);
dispose();
}
});
final int pause = waitTime;
/**
* Swing線程在同一時(shí)刻僅能被一個(gè)線程所訪問(wèn)。一般來(lái)說(shuō),這個(gè)線程是事件派發(fā)線程(event-dispatching thread)。
* 如果需要從事件處理(event-handling)或繪制代碼以外的地方訪問(wèn)UI,
* 那么可以使用SwingUtilities類的invokeLater()或invokeAndWait()方法。
*/
// 關(guān)閉歡迎屏幕的線程
final Runnable closerRunner = new Runnable() {
public void run() {
setVisible(false);
dispose();
}
};
// 等待關(guān)閉歡迎屏幕的線程
Runnable waitRunner = new Runnable() {
public void run() {
try {
// 當(dāng)顯示了waitTime后,嘗試關(guān)閉歡迎屏幕
Thread.sleep(pause);
SwingUtilities.invokeAndWait(closerRunner);
} catch (Exception e) {
e.printStackTrace();
}
}
};
setVisible(true);
//啟動(dòng)等待關(guān)閉歡迎屏幕的線程
Thread splashThread = new Thread(waitRunner, "SplashThread");
splashThread.start();
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -