开源代码:JSplashWindow

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

package nicholas.swing;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

/**

* <p>Title: JSplashWindow</p>

* <p>Description: start up window</p>

* <p>Copyright: Copyright (c) 2005</p>

* <p>Company: ColinSoft</p>

* @author Nicholas Lin

* @version beta

*/

public class JSplashWindow extends JWindow {

private static JSplashWindow csw;

private Image image;

private String user;

private String lab;

private int x1 = 155;

private int y1 = 220;

private int x2 = 250;

private int y2 = 235;

private DisposeAdapter da;

/**

*constructor

*/

private JSplashWindow(String u, String filename) {

setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

ImageIcon icon = new ImageIcon(getClass().getResource(filename));

image = icon.getImage();

user = "";

user = u;

setAlwaysOnTop(true);

setSize(icon.getIconWidth(),icon.getIconHeight());

Dimension screen = getToolkit().getScreenSize();

setLocation((screen.width-getSize().width)/2, (screen.height-getSize().height)/2);

this.setVisible(true);

}

/**

*set close on click

*use as about dialog

*/

public void setCloseOnClick(boolean b) {

if(b) {

if(da==null)

da = new DisposeAdapter();

addMouseListener(da);

} else if(da!=null) {

this.removeMouseListener(da);

}

}

/**

*set the place where user name will be show

*/

public void setUserLocation(int x,int y) {

x1 = x;

y1 = y;

}

/**

*set the place where status will be show

*/

public void setStatusLocation(int x,int y) {

x2 = x;

y2 = y;

}

/**

*paint

*/

public void paint(Graphics g) {

g.drawImage(image,0,0,this);

g.drawString(user,x1,y1);

if(lab!=null)

g.drawString(lab,x2,y2);

}

/**

*set the status text

*/

public void setText(String lab) {

this.lab = lab;

repaint();

}

/**

*inner class

*to close the JWindow on click

*/

private class DisposeAdapter extends MouseAdapter {

public void mouseClicked(MouseEvent me) {

dispose();

}

}

/**

*static method to set the instance

*only once is premitted

*/

public static synchronized boolean setInstance(String user,String filename) {

if(csw==null) {

csw = new JSplashWindow(user,filename);

return true;

}

return false;

}

/**

*get the instance of JSplashWindow

*@return JSplashWindow

*/

public static synchronized JSplashWindow getInstance() {

return csw;

}

}

By Nicholas Lin @ Jan 7, 2005

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航