package home; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.util.Timer; import java.util.TimerTask; import javax.swing.ImageIcon; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JScrollPane; import javax.swing.JTextArea; import ColorAndFont.UIColor; import Method.GetNowTime; import PbuliClass.JButtonModel; public class Open_soft_dialog extends JDialog implements WindowListener{ /** * */ private static final long serialVersionUID = 1L; JPanel jp_mb=null;//ÉêÃ÷Ò»¸öÃæ°å JScrollPane js_gd=null;//¹ö¶¯Ãæ°å static JTextArea jt_are=null; static JProgressBar progressBar; static boolean succ=false; JButtonModel close=null; Timer timer; public Open_soft_dialog() { String name="Êý¾ÝÕýÔÚ¼ÓÔØÖÐÇëÉÔºó(Data is loading)..."; this.setAlwaysOnTop(true);//×ÜÊÇÖö¥ Toolkit toolkit = getToolkit();// »ñµÃ´°Ì幤¾ß°ü Dimension screenSize = toolkit.getScreenSize();// »ñÈ¡ÆÁÄ»´óС int width = (int) (screenSize.width* 0.5);// ¼ÆËã´°Ìåпí¶È int height = (int) (screenSize.height * 0.5);// ¼ÆËã´°Ìåпí¶È int x0=width-180;//´°Ìåx0×ø±ê int y0=height-180;//´°Ìåy0×ø±ê Container rq=getContentPane(); rq.setBackground(UIColor.getBlues()); rq.add(getJp_mb()); this.setTitle(name); this.setBounds(x0, y0,470,310); this.setVisible(true); this.setIconImage(new ImageIcon("image/icon/first.png").getImage()); ding_shi_qi(); } public void close() { jt_are=null; this.dispose(); } public JPanel getJp_mb() { if(jp_mb==null) { jp_mb=new JPanel(); jp_mb.setLayout(null); jp_mb.setBackground(UIColor.getBlues()); get_progressBar().setBounds(85,40,220,30); getClose().setBounds(85+230,40,80,30); getJs_gd().setBounds(85, 90,300,150); jp_mb.add(progressBar); jp_mb.add(js_gd); jp_mb.add(getClose()); jp_mb.addMouseListener(new MouseListener() { public void mouseReleased(MouseEvent e) { if(succ) { close(); } } @Override public void mousePressed(MouseEvent e) { if(succ) { close(); } } @Override public void mouseExited(MouseEvent e) { if(succ) { close(); } } @Override public void mouseEntered(MouseEvent e) { if(succ) { close(); } } @Override public void mouseClicked(MouseEvent e) { if(succ) { close(); } } }); } return jp_mb; } /**Ìí¼Ó±êÇ©ÐÅÏ¢*/ public static void addara(String message) { getJt_are().append(GetNowTime.HH_MM_SS()+":"+message+"...\n"); getJt_are().setCaretPosition(jt_are.getText().length()); } public JScrollPane getJs_gd() { if(js_gd==null) { js_gd=new JScrollPane(getJt_are()); js_gd.setBorder(null); } return js_gd; } public static JTextArea getJt_are() { if(jt_are==null) { jt_are=new JTextArea(); } return jt_are; } public static JProgressBar get_progressBar() { if(progressBar==null) { progressBar=new JProgressBar (); progressBar.setStringPainted(true); progressBar.setIndeterminate(true); progressBar.setPreferredSize(new Dimension(300, 30)); progressBar.setFont(new Font("΢ÈíÑźÚ", Font.PLAIN, 16)); progressBar.setBackground(Color.green); } return progressBar; } public static void setSucc(boolean succ) { Open_soft_dialog.succ = succ; } @Override public void windowOpened(WindowEvent e) { // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù } @Override public void windowClosing(WindowEvent e) { // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù } @Override public void windowClosed(WindowEvent e) { // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù } @Override public void windowIconified(WindowEvent e) { // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù } @Override public void windowDeiconified(WindowEvent e) { // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù } @Override public void windowActivated(WindowEvent e) { // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù } @Override public void windowDeactivated(WindowEvent e) { // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù } public JButtonModel getClose() { if(close==null) { close=new JButtonModel("Í˳ö³ÌÐò"); close.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); } return close; } /**¶¨Ê±Æ÷*/ public void ding_shi_qi() { Integer cacheTime = 1000;//´¥·¢Æ÷ʱ¼ä100ºÁÃëÖ´ÐÐÒ»´Î timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { try { if(succ) { close(); timer.cancel(); } } catch (Exception e) { // TODO ×Ô¶¯Éú³ÉµÄ catch ¿é e.printStackTrace(); } } }, 1000, cacheTime); } }