| 1 package org.netbeans.bluej.welcome; 2 3 import java.awt.Graphics ; 4 import java.awt.Graphics2D ; 5 import java.awt.Image ; 6 import java.awt.LayoutManager ; 7 import java.io.Serializable ; 8 import javax.swing.JPanel ; 9 import org.openide.ErrorManager; 10 import org.openide.util.NbBundle; 11 import org.openide.util.Utilities; 12 import org.openide.windows.TopComponent; 13 import org.openide.windows.WindowManager; 14 15 18 final class BluejWelcomeTopComponent extends TopComponent { 19 20 private static final long serialVersionUID = 1L; 21 22 private static BluejWelcomeTopComponent instance; 23 24 static final String ICON_PATH = "org/netbeans/bluej/welcome/frame.gif"; 26 private static final String PREFERRED_ID = "BluejWelcomeTopComponent"; private JPanel panel; 28 private BluejWelcomeTopComponent() { 29 initComponents(); 30 panel = new TitlePanel50(); 31 add(panel); 32 setName(NbBundle.getMessage(BluejWelcomeTopComponent.class, "CTL_BluejWelcomeTopComponent")); setToolTipText(NbBundle.getMessage(BluejWelcomeTopComponent.class, "HINT_BluejWelcomeTopComponent")); setIcon(Utilities.loadImage(ICON_PATH, true)); 35 } 36 37 42 private void initComponents() { 44 45 setLayout(new java.awt.BorderLayout ()); 46 47 } 49 50 53 public void addNotify() { 54 super.addNotify(); 55 56 } 57 58 63 public static synchronized BluejWelcomeTopComponent getDefault() { 64 if (instance == null) { 65 instance = new BluejWelcomeTopComponent(); 66 } 67 return instance; 68 } 69 70 73 public static synchronized BluejWelcomeTopComponent findInstance() { 74 TopComponent win = WindowManager.getDefault().findTopComponent(PREFERRED_ID); 75 if (win == null) { 76 ErrorManager.getDefault().log(ErrorManager.WARNING, "Cannot find BluejWelcome component. It will not be located properly in the window system."); return getDefault(); 78 } 79 if (win instanceof BluejWelcomeTopComponent) { 80 return (BluejWelcomeTopComponent)win; 81 } 82 ErrorManager.getDefault().log(ErrorManager.WARNING, "There seem to be multiple components with the '" + PREFERRED_ID + "' ID. That is a potential source of errors and unexpected behavior."); return getDefault(); 84 } 85 86 public int getPersistenceType() { 87 return TopComponent.PERSISTENCE_ALWAYS; 88 } 89 90 public void componentOpened() { 91 } 93 94 public void componentClosed() { 95 } 97 98 99 public Object writeReplace() { 100 return new ResolvableHelper(); 101 } 102 103 protected String preferredID() { 104 return PREFERRED_ID; 105 } 106 107 final static class ResolvableHelper implements Serializable { 108 private static final long serialVersionUID = 1L; 109 public Object readResolve() { 110 return BluejWelcomeTopComponent.getDefault(); 111 } 112 } 113 114 115 } 116 | Popular Tags |