KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > gjt > jclasslib > browser > detail > constants > ConstantStringInfoDetailPane


1 /*
2     This library is free software; you can redistribute it and/or
3     modify it under the terms of the GNU General Public
4     License as published by the Free Software Foundation; either
5     version 2 of the license, or (at your option) any later version.
6 */

7
8 package org.gjt.jclasslib.browser.detail.constants;
9
10 import org.gjt.jclasslib.browser.BrowserServices;
11 import org.gjt.jclasslib.structures.InvalidByteCodeException;
12 import org.gjt.jclasslib.structures.constants.ConstantStringInfo;
13 import org.gjt.jclasslib.util.ExtendedJLabel;
14
15 import javax.swing.tree.TreePath JavaDoc;
16
17 /**
18     Detail pane showing a <tt>CONSTANT_String</tt> constant pool entry.
19
20     @author <a HREF="mailto:jclasslib@ej-technologies.com">Ingo Kegel</a>
21     @version $Revision: 1.5 $ $Date: 2003/08/18 08:16:34 $
22 */

23 public class ConstantStringInfoDetailPane extends AbstractConstantInfoDetailPane {
24
25     // Visual components
26

27     private ExtendedJLabel lblString;
28     private ExtendedJLabel lblStringVerbose;
29     
30     /**
31         Constructor.
32         @param services the associated browser services.
33      */

34     public ConstantStringInfoDetailPane(BrowserServices services) {
35         super(services);
36     }
37     
38     protected void setupLabels() {
39         
40         addDetailPaneEntry(normalLabel("String:"),
41                            lblString = linkLabel(),
42                            lblStringVerbose = highlightLabel());
43     }
44
45     public void show(TreePath JavaDoc treePath) {
46         
47         int constantPoolIndex = constantPoolIndex(treePath);
48
49         try {
50             ConstantStringInfo entry = (ConstantStringInfo)services.getClassFile().getConstantPoolEntry(constantPoolIndex, ConstantStringInfo.class);
51
52             constantPoolHyperlink(lblString,
53                                   lblStringVerbose,
54                                   entry.getStringIndex());
55         
56         } catch (InvalidByteCodeException ex) {
57             lblStringVerbose.setText(MESSAGE_INVALID_CONSTANT_POOL_ENTRY);
58         }
59         
60         super.show(treePath);
61     }
62     
63 }
64
65
Popular Tags