编程原理:
取得SplashScreen的实例后,在该实例下创建2D画图对象,根据x, y坐标手动绘制文字及进度条,每绘制一次,调用一次SplashScreen.update进行splash的更新
前提条件:
必须使用java的-splash:splash.png参数设定好要用的splash图片
示例代码:
[code lang="java"]
public static void main(String args[])
SplashScreen splash = SplashScreen.getSplashScreen();
try
if (splash == null)
System.out.println("No splash image...");
else
Graphics2D g2 = splash.createGraphics();
Rectangle bounds = splash.getBounds();
int progressY = (int) bounds.getHeight() - 24;
int progressW = (int) bounds.getWidth() - 8;
//g2.setColor(Color.BLACK);
g2.fillRect(4, progressY, progressW, 20);
g2.setColor(Color.BLACK);
g2.drawString("初始化对象......", 4, progressY - 12);
g2.setColor(Color.BLUE);
int curW = (int) (progressW * 0.3);
g2.fillRect(4, progressY, curW, 20);
Thread.sleep(90);
splash.update();
Nmcli gui = Nmcli.getInstance();
g2.setColor(Color.BLACK);
g2.drawString("初始化窗口......", 4, progressY - 12);
g2.setColor(Color.BLUE);
curW = (int) (progressW * 0.6);
g2.fillRect(4, progressY, curW, 20);
Thread.sleep(90);
splash.update();
gui.initGUI();
g2.setColor(Color.BLUE);
g2.fillRect(4, progressY, progressW, 20);
gui.show();
catch (Exception e)
e.printStackTrace();
没有评论:
发表评论