How to show taskbar icon when use splash?
這個問題非常的重要!
做過RCP開發的朋友應該都遇到過,使用AbstractSplashHandler做的登陸界面,在windows的任務欄上面是不會顯示的,這個問題讓客戶用起來很麻煩,總是動不動就找不到登陸界面了!現在有解決辦法了~
稍稍進行改造,就可以了~
客戶虐我千百遍,我待客戶如初戀!
做過RCP開發的朋友應該都遇到過,使用AbstractSplashHandler做的登陸界面,在windows的任務欄上面是不會顯示的,這個問題讓客戶用起來很麻煩,總是動不動就找不到登陸界面了!現在有解決辦法了~
1
Here is the modified Code of the InteractiveSplashHandler Class:
2
3
4
private Shell splash;
5
6
7
public void init(final Shell splash) {
8
// Shell replaced by one with task bar icon
9
// (old Style: SWT.TOOL, new Style: SWT.NO_TRIM)
10
replaceShell(splash);
11
// Store the shell
12
super.init(getSplash());
13
// Configure the shell layout
14
configureUISplash();
15
// Create UI Colors and Fonts
16
createColorsAndFonts();
17
// Create UI
18
createUI();
19
// Create UI listeners
20
createUIListeners();
21
// Force the splash screen to layout
22
splash.dispose();
23
getSplash().layout(true);
24
// Keep the splash screen visible and prevent the RCP application from
25
// loading until the close button is clicked.
26
doEventLoop();
27
}
28
29
30
private void replaceShell(Shell splash) {
31
Shell newSplash = new Shell(Display.getCurrent(), SWT.NO_TRIM);
32
newSplash.setBackgroundImage(splash.getBackgroundImage());
33
newSplash.setBounds(splash.getBounds());
34
newSplash.setFont(splash.getFont());
35
newSplash.setVisible(true);
36
setSplash(newSplash);
37
}
38
39
40
public Shell getSplash() {
41
return splash;
42
}
43
44
45
public void setSplash(Shell splash) {
46
this.splash = splash;
47
}
48
49

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

稍稍進行改造,就可以了~
客戶虐我千百遍,我待客戶如初戀!
posted on 2009-03-15 20:59 阿南 閱讀(1312) 評論(0) 編輯 收藏 所屬分類: Eclipse-RCP