[Jarspy-commits] CVS: JarSpy/src/com/ociweb/jarspy/gui JarSpyClassList.java,NONE,1.1 JarSpyGUI.java,
Status: Beta
Brought to you by:
brown_j
|
From: Jeff B. <br...@us...> - 2002-07-15 22:22:28
|
Update of /cvsroot/jarspy/JarSpy/src/com/ociweb/jarspy/gui
In directory usw-pr-cvs1:/tmp/cvs-serv1567/com/ociweb/jarspy/gui
Modified Files:
JarSpyGUI.java
Added Files:
JarSpyClassList.java
Removed Files:
ClassListCellRenderer.java
Log Message:
created JarSpyClassList to display jar contents properly
--- NEW FILE: JarSpyClassList.java ---
package com.ociweb.jarspy.gui;
import com.ociweb.jarspy.ClassInfo;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import java.awt.Component;
import java.awt.Font;
/**
* JarSpyClassList is a JList specifically for displaying a list
* of classes in JarSpy
*/
public class JarSpyClassList extends JList {
/**
* This renderer delegates to another renderer. The other renderer
* is responsible for creating the render component. This wrapper
* modifies the font of the component generated by the real renderer
* to display interfaces in italic and classes in non italic.
*/
private class JarSpyListCellRenderer implements ListCellRenderer {
private final ListCellRenderer realRenderer;
JarSpyListCellRenderer(ListCellRenderer realRenderer) {
this.realRenderer = realRenderer;
}
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
Component c =
realRenderer.getListCellRendererComponent(list,
value,
index,
isSelected,
cellHasFocus);
// this should always be true...
if (value instanceof ClassInfo) {
ClassInfo classInfo = (ClassInfo) value;
// if this is an interface, then use italics...
if (classInfo.isAnInterface()) {
Font font = c.getFont();
c.setFont(font.deriveFont(Font.ITALIC));
}
}
return c;
}
}
public void setCellRenderer(ListCellRenderer renderer) {
// wrap the real renderer in our renderer proxy class
// to enforce interfaces being displayed in italics...
super.setCellRenderer(new JarSpyListCellRenderer(renderer));
}
}
Index: JarSpyGUI.java
===================================================================
RCS file: /cvsroot/jarspy/JarSpy/src/com/ociweb/jarspy/gui/JarSpyGUI.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** JarSpyGUI.java 20 Jun 2002 02:11:29 -0000 1.23
--- JarSpyGUI.java 15 Jul 2002 22:22:24 -0000 1.24
***************
*** 50,54 ****
private ClassDetailPanel classDetailPanel = new ClassDetailPanel();
private Map actions = new HashMap();
! private JList classList = new JList();
private List jarFileSelectionListeners = new ArrayList();
private JarSpyPreferences jarSpyPreferences = null;
--- 50,54 ----
private ClassDetailPanel classDetailPanel = new ClassDetailPanel();
private Map actions = new HashMap();
! private JList classList = new JarSpyClassList();
private List jarFileSelectionListeners = new ArrayList();
private JarSpyPreferences jarSpyPreferences = null;
--- ClassListCellRenderer.java DELETED ---
|