antoine     2003/09/13 12:22:56

  Modified:    src/java/org/apache/tools/ant/gui About.java
  Log:
  In the About dialog:
  - info pane: better placement for the props and classpath
  tables
  - fix for 'System Locale' if 'user.region' is null
  - some common operations extracted to helper methods
  Submitted by: Lajos Pajtek (lajos dot pajtek at yahoo dot com)
  
  Revision  Changes    Path
  1.7       +60 -18    ant-antidote/src/java/org/apache/tools/ant/gui/About.java
  
  Index: About.java
  ===================================================================
  RCS file: 
/home/cvs/ant-antidote/src/java/org/apache/tools/ant/gui/About.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- About.java        10 Feb 2003 14:34:56 -0000      1.6
  +++ About.java        13 Sep 2003 19:22:56 -0000      1.7
  @@ -91,6 +91,7 @@
    */
   public class About extends JDialog {
       
  +    /** The application context for this dialog. */
       private transient AppContext _context = null;
       
       /**
  @@ -108,16 +109,30 @@
        * Alternative ctor for use without AppContext.
        */
       public About(JFrame parent) {
  -        super((Frame)((parent == null)?null:(parent instanceof 
Frame)?parent:JOptionPane.getFrameForComponent(parent)));
  +        // TODO seems to be unused, should go?
  +        super(getFrame(parent));
           init();
       }
       
  +    private static Frame getFrame(JFrame frame) {
  +        // should be equivalent to:
  +        // return ((frame == null)?null:(frame instanceof 
Frame)?frame:JOptionPane.getFrameForComponent(frame));
  +        Frame pFrame = frame;
  +        if (frame != null && !(frame instanceof Frame)) {
  +            pFrame = JOptionPane.getFrameForComponent(frame);
  +        }
  +        return pFrame;
  +    }
  +
  +    /**
  +     * Initialization (and display).
  +     */
       private void init() {
           
           setDefaultCloseOperation(DISPOSE_ON_CLOSE);
           
           setModal(true);
  -        String title = 
(_context!=null?_context.getResources().getString(getClass(), "title"):"");
  +        String title = getResource("title", "ANTidote");
           setTitle(title);
           JPanel mainPanel = new JPanel(new BorderLayout());
           setContentPane(mainPanel);
  @@ -131,20 +146,25 @@
           
           // Just go ahead and show it...
           pack();
  -        if (_context != null)
  +        if (_context != null) {
               WindowUtils.centerWindow(_context.getParentFrame(), this);
  +        }
           setResizable(false);
           setVisible(true);
       }
       
  +    /**
  +     * Builds the nice About panel.
  +     *
  +     * @return the About panel
  +     */
       private JPanel getImagePanel() {
           JPanel imagePanel = new JPanel(new BorderLayout());
           JLabel imageLabel = new JLabel(new 
ImageIcon(getClass().getResource("/org/apache/tools/ant/gui/resources/About.gif")));
           imagePanel.add(imageLabel, BorderLayout.CENTER);
           
  -        JLabel messageLabel = (_context!=null?new 
JLabel(_context.getResources().getMessage(getClass(), "message",new Object[] 
{})):null);
  -        
  -        if (messageLabel != null) {
  +        if (_context != null) {
  +            JLabel messageLabel = new 
JLabel(_context.getResources().getMessage(getClass(), "message", new Object[] 
{}));
               messageLabel.setBorder(BorderFactory.createEmptyBorder(0, 4, 3, 
4));
               imagePanel.add(messageLabel, BorderLayout.SOUTH);
           }
  @@ -152,6 +172,11 @@
           return imagePanel;
       }
       
  +    /**
  +     * Builds the (client)info panel.
  +     *
  +     * @return the clientinfo panel
  +     */
       private JPanel getClientInfoPanel() {
           JPanel infoPanel = new JPanel(new GridBagLayout());
           
  @@ -190,15 +215,15 @@
           
           String [] dummy = {"",""};
           String[][] data = new String[11][2];
  -        data[0][0] = 
(_context!=null?_context.getResources().getString(getClass(), 
"version"):"Version");
  +        data[0][0] = getResource("version", "Version");
           data[0][1] = props.getProperty("VERSION", "??");
  -        data[1][0] = 
(_context!=null?_context.getResources().getString(getClass(), "date"):"Date");
  +        data[1][0] = getResource("date", "Date");
           data[1][1] = props.getProperty("DATE", "??");
  -        data[2][0] = 
(_context!=null?_context.getResources().getString(getClass(), 
"antVersion"):"Ant Version");
  +        data[2][0] = getResource("antVersion", "Ant Version");
           data[2][1] = antProps.getProperty("VERSION", "??");
  -        data[3][0] = 
(_context!=null?_context.getResources().getString(getClass(), "antDate"):"Ant 
Build Date");
  +        data[3][0] = getResource("antDate", "Ant Build Date");
           data[3][1] = antProps.getProperty("DATE", "??");
  -        data[4][0] = 
(_context!=null?_context.getResources().getString(getClass(), 
"operatingSystem"):"Operating System");
  +        data[4][0] = getResource("operatingSystem", "Operating System");
           data[4][1] = System.getProperty("os.name")+" version 
"+System.getProperty("os.version")+" running on "+System.getProperty("os.arch");
           data[5][0] = "Java";
           data[5][1] = System.getProperty("java.version");
  @@ -207,10 +232,10 @@
           data[7][0] = "Java Home";
           data[7][1] = System.getProperty("java.home");
           data[8][0] = "System Locale";
  -        data[8][1] = 
System.getProperty("user.language")+"_"+System.getProperty("user.region");
  -        data[9][0] = 
(_context!=null?_context.getResources().getString(getClass(), 
"freeMemory"):"Free Memory");
  +        data[8][1] = 
System.getProperty("user.language")+(System.getProperty("user.region")==null?"":"_"+System.getProperty("user.region"));
  +        data[9][0] = getResource("freeMemory", "Free Memory");
           data[9][1] = (Runtime.getRuntime().freeMemory()/1024)+" kByte";
  -        data[10][0] = 
(_context!=null?_context.getResources().getString(getClass(), 
"totalMemory"):"Total Memory");
  +        data[10][0] = getResource("totalMemory", "Total Memory");
           data[10][1] = (Runtime.getRuntime().totalMemory()/1024)+" kByte";
   
           clientTable.setModel(new DefaultTableModel(data, dummy) {
  @@ -223,10 +248,10 @@
           
           JScrollPane tableScrollPane = new JScrollPane(clientTable);
           tableScrollPane.setPreferredSize(new Dimension(250, 100));
  -        infoPanel.add(tableScrollPane, new GridBagConstraints(1, 4, 2, 1, 0, 
1.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(1, 6, 2, 6), 
0, 0));
  +        infoPanel.add(tableScrollPane, new GridBagConstraints(0, 4, 3, 1, 0, 
1.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(1, 6, 2, 6), 
0, 0));
           
           JLabel classpathLabel = new JLabel("Classpath:");
  -        infoPanel.add(classpathLabel, new GridBagConstraints(1, 5, 2, 1, 
1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 6, 0, 
0), 0, 0));
  +        infoPanel.add(classpathLabel, new GridBagConstraints(0, 5, 3, 1, 
1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 6, 0, 
0), 0, 0));
   
           String classFileString = System.getProperty("java.class.path");
           Vector pathElements = new Vector();
  @@ -235,10 +260,27 @@
           JScrollPane listScrollPane = new JScrollPane(list);
           listScrollPane.setPreferredSize(new java.awt.Dimension(100, 80));
   
  -        infoPanel.add(listScrollPane, new GridBagConstraints(1, 6, 2, 1, 
0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(1, 6, 2, 
6), 0, 0));
  +        infoPanel.add(listScrollPane, new GridBagConstraints(0, 6, 3, 1, 
0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(1, 6, 2, 
6), 0, 0));
           
           infoPanel.setBorder(BorderFactory.createEmptyBorder(7,7,5,7));
           
           return infoPanel;
  +    }
  +
  +    /**
  +     * Helper method for retrieving a resource string.
  +     *
  +     * @param key the key to the resource
  +     * @param defaultValue value returned if the AppContext is null
  +     * @return the resource associated to the key, or defaultValue if the
  +     *     AppContext is null.
  +     * @see AppContext
  +     */
  +    private String getResource(String key, String defaultValue) {
  +        String value = defaultValue;
  +        if (_context != null) {
  +            value = _context.getResources().getString(getClass(), key);
  +        }
  +        return value;
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to