NullPointerException: component argument pData
I keep getting this error message.
I am creating a screenManager, which sets a fullscreen displaymode based on the
available and compatible displaymodes on the system, and restores the original
displaymode upon exit. This is some new territory for me, and I have no idea where
and why this error appears. I'll post code if none can instantly tell what makes this
nullpointer exception appear.
Thanks,
Terje
java.lang.NullPointerException: component argument pData
at sun.awt.windows.Win32BackBufferSurfaceData.initSurface(Native Method)
at sun.awt.windows.Win32BackBufferSurfaceData.createData(Win32BackBuffer
SurfaceData.java:49)
at sun.awt.windows.Win32BackBuffer.createHWData(Win32BackBuffer.java:28)
at sun.awt.windows.WVolatileImage.initAcceleratedBackground(WVolatileIma
ge.java:100)
at sun.awt.windows.Win32BackBuffer.displayChanged(Win32BackBuffer.java:3
5)
at sun.awt.SunDisplayChanger.notifyListeners(SunDisplayChanger.java:102)
at sun.awt.Win32GraphicsEnvironment.displayChanged(Win32GraphicsEnvironm
ent.java:98)
at sun.awt.windows.WToolkit$4.run(WToolkit.java:734)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Press any key to continue . . .
Well, I understand that much... The funny thing is the trace seems to be outside my code, and after running the application some more times, I occationally end up with the following message:
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x2E57E76
Function=Java_sun_print_Win32PrintJob_endPrintRawData+0x1D42
Library=E:\j2sdk_nb\j2sdk1.4.2\jre\bin\awt.dll
followed by a list of all dynamic link libraries running.
This log is additionally written to a file.
Here is the code:
import java.awt.*;
import java.awt.image.*;
import javax.swing.JFrame;
public class MonsunScreenManager
private GraphicsDevice gDevice = null;
/** change this if you want a different bufferstrategy **/
private static final int NUM_DISPLAY_BUFFERS = 2;
private static MonsunScreenManager screenManager = new MonsunScreenManager();
private MonsunScreenManager()
GraphicsEnvironment env =
GraphicsEnvironment.getLocalGraphicsEnvironment();
gDevice = env.getDefaultScreenDevice();
public static MonsunScreenManager getScreenManager()
return screenManager;
/** get compatible displaymodes of system **/
public DisplayMode[] getCompatibleDisplayModes()
return gDevice.getDisplayModes();
/** get first compatible mode, or null if none are **/
public DisplayMode getFirstCompatibleMode( DisplayMode modes[] )
DisplayMode goodModes[] = gDevice.getDisplayModes();
for(int i=0;i<modes.length;i++)
for(int j=0;j<goodModes.length;j++)
if(displayModesMatch(modes,goodModes[j]))
return modes[i];
return null;
/** get current display mode **/
public DisplayMode getCurrentDisplayMode()
return gDevice.getDisplayMode();
/* check if 2 display modes match. (same resolution, bit depth, and refresh
* rate). if refresh rate is unknown, only the other two have to match. if bit
* depth is multi, only the other two have to match.
public boolean displayModesMatch( DisplayMode mode1, DisplayMode mode2 )
if( mode1.getWidth() != mode2.getWidth() ||
mode1.getHeight() != mode2.getHeight())
return false;
if( mode1.getBitDepth() != DisplayMode.BIT_DEPTH_MULTI &&
mode2.getBitDepth() != DisplayMode.BIT_DEPTH_MULTI &&
mode1.getBitDepth() != mode2.getBitDepth())
return false;
if( mode1.getRefreshRate() != DisplayMode.REFRESH_RATE_UNKNOWN &&
mode2.getRefreshRate() != DisplayMode.REFRESH_RATE_UNKNOWN &&
mode1.getRefreshRate() != mode2.getRefreshRate())
return false;
return true;
/** changes to fullscreen mode. **/
public void setFullScreen(DisplayMode displayMode)
JFrame myDisplay = new JFrame();
myDisplay.setUndecorated(true);
myDisplay.setIgnoreRepaint(true);
myDisplay.setResizable(false);
gDevice.setFullScreenWindow(myDisplay);
if(displayMode!=null && gDevice.isDisplayChangeSupported())
try
gDevice.setDisplayMode(displayMode);
catch(IllegalArgumentException e)
System.out.println("Boo?");
myDisplay.createBufferStrategy(NUM_DISPLAY_BUFFERS);
/** get the graphical context for the display **/
public Graphics2D getGraphics()
Window myWindow = gDevice.getFullScreenWindow();
if(myWindow!=null)
BufferStrategy bufferStrat = myWindow.getBufferStrategy();
return (Graphics2D)bufferStrat.getDrawGraphics();
return null;
/** updates the display **/
public void updateScreen()
Window myWindow = gDevice.getFullScreenWindow();
if(myWindow!=null)
BufferStrategy bufferStrat = myWindow.getBufferStrategy();
if(bufferStrat.contentsLost())
bufferStrat.show();
// sync display! should be an "option", since it takes time??
Toolkit.getDefaultToolkit().sync();
/** returns the window used in fullscreen, or null if not in fullscreen! **/
public Window getFullScreenWindow()
return gDevice.getFullScreenWindow();
/** returns width of window, or 0 if not in fullscreen mode **/
public int getWidth()
Window myWindow = getFullScreenWindow();
if(myWindow!=null)
return myWindow.getWidth();
return 0;
/** returns height of window, or 0 if not in fullscreen mode **/
public int getHeight()
Window myWindow = getFullScreenWindow();
if(myWindow!=null)
return myWindow.getHeight();
return 0;
/** restores the screen's display mode **/
public void restoreScreen()
Window myWindow = getFullScreenWindow();
if(myWindow!=null)
myWindow.dispose();
gDevice.setFullScreenWindow(null);
/** creates an image compatible with the current displaymode **/
public BufferedImage createCompatibleImage(int dWidth,int dHeight, int dTrans)
Window myWindow = getFullScreenWindow();
if(myWindow!=null)
GraphicsConfiguration gC = myWindow.getGraphicsConfiguration();
return gC.createCompatibleImage(dWidth,dHeight,dTrans);
return null;
Similar Messages
-
Cfinvoke component argument question
cfnewbie here...
I want to invoke a method in a CFC file - I am not clear from
the docs. how to construct the component argument. If using the
filepath structure below, for example, where am I supposed to
start? what should "directory" be? the root folder of the server?
<cfinvoke
component="directory.subdirectory.subdirectory2.cfc_filename"
method="method_name"
returnvariable="whatever">
</cfinvoke>
Thanks!Thanks Ted. I am looking at the " Registered CFX Tags" area
in CFAdmin MX6.1 and I do not see it, should it be there?
Again thanks for answering such dumb questions... the person
who supported CF is no longer with our company so I'm stuck with
it. -
Please explain the error message
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component
argument pData
at sun.awt.windows.Win32SurfaceData.initOps(Native Method)
at sun.awt.windows.Win32SurfaceData.<init>(Win32SurfaceData.java:448)
at sun.awt.windows.Win32SurfaceData.createData(Win32SurfaceData.java:316
at sun.awt.Win32GraphicsConfig.createSurfaceData(Win32GraphicsConfig.jav
a:357)
at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java
:332)
at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java
:313)
at sun.awt.windows.WComponentPeer$2.run(WComponentPeer.java:353)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)Briefly, your program has a bug.
More specifically, it appears that the Abstract Window Toolkit, in trying to respond to an event, encountered a pointer that was set to null, rather than pointing at some data. You probably failed to initialize the pointer when setting up whatever you were trying to use the AWT for.
Posting your code (inside code tags) may help someone here help you find the bug. -
import java.awt.*;
import java.applet.*;
import javax.swing.*;
<applet code="Frame_Demo" width=300 height=300>
</applet>
public class Frame_Demo extends JApplet {
public void init()
Container c = this.getContentPane();
ImageIcon i=new ImageIcon("D:/Soft/1.jpg");
JLabel j=new JLabel(i);
c.add(j);
}it runs perfectly but when close it will generate Exception
Like :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component argument pData
Why ?
And if we use the Applet then it will not generate Exception..
Edited by: hemen on Feb 20, 2008 11:11 AMHello Lisa,
I have came across this issue before. I suggest that a messaged be logged with the SAP Support Team. They may need to get a copy of the database to verify this.
Regards,
Lorna Real -
Exception when closing an Applet window
Hi,
Every one.....
I have added Swing components to the JApplet. Everything is fine with the program . But when i am closing the appletviewer window it is throwing the following exception :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component argument pData
at sun.awt.windows.Win32SurfaceData.initOps(Native Method)
at sun.awt.windows.Win32SurfaceData.<init>(Unknown Source)
at sun.awt.windows.Win32SurfaceData.createData(Unknown Source)
at sun.awt.Win32GraphicsConfig.createSurfaceData(Unknown Source)
at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source)
at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source)
at sun.awt.windows.WComponentPeer$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
So how to resolve this one, can anyone ?
ByeI could be proven wrong, but I think you can use hide() and show() for your windows. You could make a windowListener that when a user tries to close the window you would have it hide that window instead, and show the underlying window:
http://java.sun.com/docs/books/tutorial/uiswing/events/windowlistener.html
You might also want to make the new window that pops up a modal dialog window.
http://java.sun.com/products/jlf/ed2/book/HIG.Dialogs3.html
Hope that helps. -
Exception inspite of successful build
i am running the following code it shows no exception if i dont click inside the applet
but if i click it shows the following exception.
what could be the possible reason for that
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component argument pData
at sun.awt.windows.Win32SurfaceData.initOps(Native Method)
at sun.awt.windows.Win32SurfaceData.<init>(Win32SurfaceData.java:448)
at sun.awt.windows.Win32SurfaceData.createData(Win32SurfaceData.java:316)
at sun.awt.Win32GraphicsConfig.createSurfaceData(Win32GraphicsConfig.java:357)
at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java:332)
at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java:313)
at sun.awt.windows.WComponentPeer$2.run(WComponentPeer.java:353)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
BUILD SUCCESSFUL (total time: 4 seconds)My code is as follows
import java.awt.BorderLayout;
import javax.swing.JApplet;
* @author sakshi
public class MainJA extends JApplet {
MyInterface in;
MyJPanel jp1;
MyJScrollPane jsp;
* Initialization method that will be called after the applet is loaded
* into the browser.
@Override
public void init() {
makeGUI();
// TODO start asynchronous download of heavy resources
void makeGUI() {
setLayout(new BorderLayout());
jp1 = new MyJPanel();
in = new MyInterface();
jsp = new MyJScrollPane(jp1);
add(jsp, BorderLayout.CENTER);
add(in, BorderLayout.SOUTH);
// TODO overwrite start(), stop() and destroy() methods
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
* @author sakshi
public class MyInterface extends JPanel {
JLabel l_x,l_y;
JTextField t_x,t_y;
public MyInterface() {
l_x=new JLabel("x");
l_y=new JLabel("y");
t_x=new JTextField(10);
t_y=new JTextField(10);
setLayout(new FlowLayout((int) CENTER_ALIGNMENT));
add(l_x);add(t_x);
add(l_y);add(t_y);
import java.awt.Dimension;
import javax.swing.JPanel;
* @author sakshi
public class MyJPanel extends JPanel {
public MyJPanel() {
setPreferredSize(new Dimension(1000,1000));
import java.awt.Component;
import java.awt.Dimension;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
* @author sakshi
public class MyJScrollPane extends JScrollPane {
public MyJScrollPane(Component v) {
super(v,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
setPreferredSize(new Dimension(500,500));
}thanks now there are no exceptions
sir how can i call repaint when scrollbars are moved because the screen becomes distorted on moving it
i have added paintComponent method in JPanel.
package introswing;
import java.awt.BorderLayout;
import javax.swing.JApplet;
* @author sakshi
public class MainJA extends JApplet {
MyInterface in;
MyJPanel jp1;
MyJScrollPane jsp;
* Initialization method that will be called after the applet is loaded
* into the browser.
@Override
public void init() {
makeGUI();
// TODO start asynchronous download of heavy resources
void makeGUI() {
setLayout(new BorderLayout());
in = new MyInterface();
jp1 = new MyJPanel(in);
jsp = new MyJScrollPane(jp1);
add(jsp, BorderLayout.CENTER);
add(in, BorderLayout.SOUTH);
// TODO overwrite start(), stop() and destroy() methods
package introswing;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
* @author sakshi
public class MyInterface extends JPanel {
JLabel l_x,l_y;
JTextField t_x,t_y;
public MyInterface() {
l_x=new JLabel("x");
l_y=new JLabel("y");
t_x=new JTextField(10);
t_y=new JTextField(10);
setLayout(new FlowLayout(FlowLayout.CENTER));
add(l_x);add(t_x);
add(l_y);add(t_y);
void setText(int x,int y)
t_x.setText(String.valueOf(x)); t_y.setText(String.valueOf(y));
// System.out.println("setting text");
package introswing;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JPanel;
* @author sakshi
public class MyJPanel extends JPanel implements MouseMotionListener {
MyInterface i;
public MyJPanel(MyInterface in) {
i=in;
setPreferredSize(new Dimension(1000,1000));
addMouseMotionListener(this);
public void mouseDragged(MouseEvent e) {
// throw new UnsupportedOperationException("Not supported yet.");
public void mouseMoved(MouseEvent e) {
i.setText(e.getX(), e.getY());
System.out.println("setting text");
// throw new UnsupportedOperationException("Not supported yet.");
public void paintComponent(Graphics g)
g.drawLine(12,23,66,87);
package introswing;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
* @author sakshi
public class MyJScrollPane extends JScrollPane implements AdjustmentListener {
Component js;
public MyJScrollPane(Component v) {
super(v,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
setPreferredSize(new Dimension(500,500));
js=v;
public void adjustmentValueChanged(AdjustmentEvent e) {
js.repaint();
//throw new UnsupportedOperationException("Not supported yet.");
/*public void paintComponent(Graphics g)
g.drawLine(12,23,66,87);
}i tried it once using the adjustment listener interface -
Disposing a Fullscreen Frame with BackBuffers throws Exception
I am using the new JDK1.4.1_01, when i create a Frame and switch the Frame to Fullscreen and call this function to destroy the frame a Exception is thrown
java.lang.NullPointerException: component argument pData
at sun.awt.windows.Win32BackBufferSurfaceData.initSurface(Native Method)
at sun.awt.windows.Win32BackBufferSurfaceData.createData(Win32BackBufferSurfaceData.java:48)
at sun.awt.windows.Win32BackBuffer.createHWData(Win32BackBuffer.java:28)
at sun.awt.windows.WVolatileImage.initAcceleratedBackground(WVolatileImage.java:99)
at sun.awt.windows.Win32BackBuffer.displayChanged(Win32BackBuffer.java:35)
at sun.awt.SunDisplayChanger.notifyListeners(SunDisplayChanger.java:102)
at sun.awt.Win32GraphicsEnvironment.displayChanged(Win32GraphicsEnvironment.java:98)
at sun.awt.windows.WToolkit$4.run(WToolkit.java:723)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
private void destroyWindow()
if ( null != itsOldMode )
gd.setDisplayMode(itsOldMode);
itsOldMode = null;
if ( null != gd.getFullScreenWindow() )
gd.setFullScreenWindow(null);
itsBufferStrategy = null;
itsBufferCapabilities = null;
itsFlipContents = null;
setVisible(false);
dispose(); // <-- the exception is thrown here
I use BackBuffers and when i use no Backbuffer, exception is not thrown, so i think it must the backbuffer, a bug ? my fault ?
can u help meitsOldMode contains the mode before switching to fullscreen and changing display, docs says restore old display mode before leaving fullscreen ( u will find in the the sun java examples )
itsOldMode = gd.getDisplayMode();
gd.setFullScreenWindow(this);
if ( gd.isDisplayChangeSupported() )
gd.setDisplayMode(new DisplayMode(itsWidth, itsHeight, itsBitDepth, DisplayMode.REFRESH_RATE_UNKNOWN));
createBackBuffers();
enableRendering(true); -
Hi.
I hope you can help me figure out what's going on. I have a component that I've written that should display buttons vertically (it's a basis for an OutlookBar styled component).
The component is based on a JPanel that is put in a JScrollPane and the buttons are added to the JPanel. The JPanel has a VerticalFlowLayout (a custom layout class).
Now for the problem: Every time I adjust the size of the component so that a scroll bar should appear, the getPreferredSize() method of the JScrollPane returns a width that is lesser than it returns when the scroll bar is not visible! The weird thing is that the difference in the width is exactly the width of the scroll bar... but it doesn't make much sense since the width that is returned when the scroll bar is visible is less than the width that is returned when the scroll bar is not visible (it would make sense to have it the other way around!).
Since my component needs to keep a consistent width this behavior is extremely annoying! Below you can find the code for the panel (and the needed layout) if you'd like to try this out, any help will be greatly appreciated:
import javax.swing.*;
import javax.swing.plaf.ComponentUI;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
* A panel that contains a set of operations that are displayed under a common
* category name on a <code>OutlookBar</code>.
* @version Revision:$ Date:$
public class OutlookBarCategoryPanel extends JPanel
protected JPanel m_contentPanel = new JPanel( new VerticalFlowLayout( 5 ) );
private JScrollPane m_contentScrollPane = new JScrollPane( m_contentPanel,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
* Constructs a new <tt>OutlookBarCategoryPanel</tt> that is initially empty.
public OutlookBarCategoryPanel()
super( new BorderLayout() );
m_contentPanel.setBackground( SystemColor.control );
super.add( m_contentScrollPane, BorderLayout.CENTER );
* If the <code>preferredSize</code> has been set to a
* non-<code>null</code> value just returns it.
* If the UI delegate's <code>getPreferredSize</code>
* method returns a non <code>null</code> value then return that;
* otherwise defer to the component's layout manager.
* @return the value of the <code>preferredSize</code> property
* @see #setPreferredSize
* @see ComponentUI
public Dimension getPreferredSize()
Dimension size = super.getPreferredSize();
if( size.width < m_contentScrollPane.getPreferredSize().width )
size.width = m_contentScrollPane.getPreferredSize().width;
return size;
* Appends the specified component to the end of this container.
* This is a convenience method for {@link #addImpl}.
* <p>
* Note: If a component has been added to a container that
* has been displayed, <code>validate</code> must be
* called on that container to display the new component.
* If multiple components are being added, you can improve
* efficiency by calling <code>validate</code> only once,
* after all the components have been added.
* @param comp the component to be added
* @see #addImpl
* @see #validate
* @see #revalidate
* @return the component argument
public Component add( Component comp )
return m_contentPanel.add( comp );
* Adds the specified component to the end of this container.
* Also notifies the layout manager to add the component to
* this container's layout using the specified constraints object.
* This is a convenience method for {@link #addImpl}.
* <p>
* Note: If a component has been added to a container that
* has been displayed, <code>validate</code> must be
* called on that container to display the new component.
* If multiple components are being added, you can improve
* efficiency by calling <code>validate</code> only once,
* after all the components have been added.
* @param comp the component to be added
* @param constraints an object expressing
* layout contraints for this component
* @see #addImpl
* @see #validate
* @see #revalidate
* @see LayoutManager
* @since JDK1.1
public void add( Component comp, Object constraints )
m_contentPanel.add( comp );
* Adds the specified component to this container with the specified
* constraints at the specified index. Also notifies the layout
* manager to add the component to the this container's layout using
* the specified constraints object.
* This is a convenience method for {@link #addImpl}.
* <p>
* Note: If a component has been added to a container that
* has been displayed, <code>validate</code> must be
* called on that container to display the new component.
* If multiple components are being added, you can improve
* efficiency by calling <code>validate</code> only once,
* after all the components have been added.
* @param comp the component to be added
* @param constraints an object expressing layout contraints for this
* @param index the position in the container's list at which to insert
* the component; <code>-1</code> means insert at the end
* component
* @see #addImpl
* @see #validate
* @see #revalidate
* @see #remove
* @see LayoutManager
public void add( Component comp, Object constraints, int index )
m_contentPanel.add( comp, index );
* Adds the specified component to this container at the given
* position.
* This is a convenience method for {@link #addImpl}.
* <p>
* Note: If a component has been added to a container that
* has been displayed, <code>validate</code> must be
* called on that container to display the new component.
* If multiple components are being added, you can improve
* efficiency by calling <code>validate</code> only once,
* after all the components have been added.
* @param comp the component to be added
* @param index the position at which to insert the component,
* or <code>-1</code> to append the component to the end
* @return the component <code>comp</code>
* @see #addImpl
* @see #remove
* @see #validate
* @see #revalidate
public Component add( Component comp, int index )
return m_contentPanel.add( comp, index );
* Adds the specified component to this container.
* This is a convenience method for {@link #addImpl}.
* <p>
* This method is obsolete as of 1.1. Please use the
* method <code>add(Component, Object)</code> instead.
* @see add(Component, Object)
public Component add( String name, Component comp )
return m_contentPanel.add( name, comp );
* Removes the specified button from the panel. The reference that is sent as
* a parameter needs to point to the same instance as the button that should actually
* be removed (in other words, this method will not perform an equal() comparison).
* @param button a reference to the button that should be removed.
public void remove( OutlookBarOperationButton button )
m_contentPanel.remove( button );
* Removes all operations that have the specified caption.
* @param caption the caption of the operation(s) that should be removed.
public void removeOperation( String caption )
Component[] components = m_contentPanel.getComponents();
for( int i=0; i<components.length; i++ )
Component component = components;
if( component != null && component instanceof AbstractButton )
if( ((AbstractButton)component).getText().equals( caption ) )
m_contentPanel.remove( i );
public static void main( String[] args )
JFrame frame = new JFrame( "OutlookBarCategorButton" );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.getContentPane().setLayout( new BorderLayout() );
OutlookBarCategoryPanel obcp = new OutlookBarCategoryPanel();
obcp.add( new OutlookBarOperationButton( "foo", new ImageIcon( "images/History24.gif" ) ) );
obcp.add( new OutlookBarOperationButton( "bar", new ImageIcon( "images/Help24.gif" ) ) );
obcp.add( new OutlookBarOperationButton( "foobar", new ImageIcon( "images/Cut24.gif" ) ) );
obcp.add( new OutlookBarOperationButton( "index 2", new ImageIcon( "images/isl_faninn.png" ) ), 2 );
frame.getContentPane().add( obcp, BorderLayout.WEST );
frame.pack();
frame.show();
And here is the code for the VerticalFlowLayout class:
import java.awt.*;
* A layout manager that works like the default layout manager in swing
* (FlowLayout) except that it arranges its components vertically instead
* of horizontally.
* @version $Revision: 1.1 $ $Date: 2003/03/11 13:37:38 $
public class VerticalFlowLayout implements LayoutManager
private int m_vgap;
* Creates a new instance of the class with an initial vertical gap of 0
* pixels.
public VerticalFlowLayout()
this( 0 );
* Creates a new instance of the class with an initial vertical gap of
* the specified number of pixels.
* @param vgap the number of pixels to use as a gap between
* components
public VerticalFlowLayout( int vgap )
m_vgap = vgap;
* Lays out the container in the specified panel.
* @param theParent the component which needs to be laid out
public void layoutContainer( Container theParent )
Insets insets = theParent.getInsets();
int w = theParent.getSize().width - insets.left - insets.right;
int numComponents = theParent.getComponentCount();
if( numComponents == 0 )
return;
int y = insets.top;
int x = insets.left;
for( int i = 0; i < numComponents; ++i )
Component c = theParent.getComponent(i);
if( c.isVisible() )
Dimension d = c.getPreferredSize();
c.setBounds( x, y, w, d.height );
y += d.height + m_vgap;
* Calculates the minimum size dimensions for the specified
* panel given the components in the specified parent container.
* @param theParent the component to be laid out
* @see #preferredLayoutSize
public Dimension minimumLayoutSize( Container theParent )
Insets insets = theParent.getInsets();
int maxWidth = 0;
int totalHeight = 0;
int numComponents = theParent.getComponentCount();
for( int i = 0; i < numComponents; ++i )
Component c = theParent.getComponent( i );
if( c.isVisible() )
Dimension cd = c.getMinimumSize();
maxWidth = Math.max( maxWidth, cd.width );
totalHeight += cd.height;
Dimension td = new Dimension( maxWidth + insets.left + insets.right,
totalHeight + insets.top + insets.bottom + m_vgap * numComponents );
return td;
* If the layout manager uses a per-component string,
* adds the component <code>comp</code> to the layout,
* associating it
* with the string specified by <code>name</code>.
* @param name the string to be associated with the component
* @param comp the component to be added
public void addLayoutComponent( String name, Component comp )
* Removes the specified component from the layout.
* @param comp the component to be removed
public void removeLayoutComponent( Component comp )
* Calculates the preferred size dimensions for the specified
* panel given the components in the specified parent container.
* @param theParent the component to be laid out
* @see #minimumLayoutSize
public Dimension preferredLayoutSize( Container theParent )
Insets insets = theParent.getInsets();
int maxWidth = 0;
int totalHeight = 0;
int numComponents = theParent.getComponentCount();
for( int i = 0; i < numComponents; ++i )
Component c = theParent.getComponent( i );
if( c.isVisible() )
Dimension cd = c.getPreferredSize();
maxWidth = Math.max( maxWidth, cd.width );
totalHeight += cd.height;
Dimension td = new Dimension( maxWidth + insets.left + insets.right,
totalHeight + insets.top + insets.bottom + m_vgap * numComponents );
return td;You can use calligraphy/ art brush strokes, can you not? Some of them come with AI and you can find quite a few on ze interweb. You could even create your own, if need be.
Mylenium -
ZfD 3.2 SP2 Abends JVM 1.3.1 on Netware 5.1 SP6e
After applying SP2 patch to Netware 5.1 SP6(e), abend in JVM happens
when
starting ZfD3.2:
FSERVER1:zfdstart
Loading module NWSNUT.NLM
This module is ALREADY loaded and cannot be loaded more than once.
Loading module JAVA.NLM
Novell JVM Version 1.3.1_06 Build 03031310
Version 1.31d March 13, 2003
Copyright (c) 2003 Novell, Inc.
Portions Copyright (c) 2002 Sun Microsystems
Auto-loading module JSOCK.NLM
Support For Java Sockets
Version 1.31a March 13, 2003
(C) Copyright 2000-2001 Novell, Inc. All Rights Reserved
Loading module JSOCK5X.NLM
NetWare 5.x Support For Java Sockets
Version 1.31a March 13, 2003
(C) Copyright 2000-2001 Novell, Inc. All Rights Reserved
Loading module JVM.NLM
Java jvm (based on 1.3)
Version 1.31d March 13, 2003
Copyright (c) 2003 Novell, Inc.
Portions Copyright (c) 2002 Sun Microsystems
Java: Environment variable zenAWSClassPath, not found
Java: Environment variable zenAWSClassPath, not found
Loading module JAVA.NLM
This module is ALREADY loaded and cannot be loaded more than once.
Java: Environment variable zenAWSClassPath, not found
Loading module VERIFY.NLM
Java verify (based on 1.3)
Version 1.31d March 13, 2003
Copyright (c) 2003 Novell, Inc.
Portions Copyright (c) 2002 Sun Microsystems
Loading module JVMLIB.NLM
Java jvmlib (based on 1.3)
Version 1.31d March 13, 2003
Copyright (c) 2003 Novell, Inc.
Portions Copyright (c) 2002 Sun Microsystems
Loading module DBSRV7.NLM
Sybase Adaptive Server Anywhere 7.0.0.505
Version 7.00 December 14, 2000
Copyright 1989-2000 Sybase, Inc. All rights reserved. All
unpublished
rights
reserved.
Loading module ZIP.NLM
Java zip (based on 1.3)
Version 1.31d March 13, 2003
Copyright (c) 2003 Novell, Inc.
Portions Copyright (c) 2002 Sun Microsystems
Loading module IMGSERV.NLM
ZENworks Imaging Server
Version 3.22 January 15, 2003
Copyright 2000, 2001, 2002, 2003 Novell, Inc.
Auto-loading module ZENIMGDS.NLM
ZENworks Imaging DS Library
Version 3.22b March 20, 2003
Copyright (c) 2000, 2001, 2002, 2003, Novell, Inc.
Loading module JAVA.NLM
This module is ALREADY loaded and cannot be loaded more than once.
Loading module SYMCJIT.NLM
Symantec Java JIT for Netware Java 1.3.x
Version 3.10u October 21, 2002
Copyright (C) 1997-2001 Novell, Inc.
Portions Copyright (C) 1996-1999 Symantec Corporation
Symantec JIT
Symantec Java! JustInTime Compiler Version 3.10.110(x) for the Java 2Platform
Copyright (C) 1996-99 Symantec Corporation
ZENworks Imaging Server
Version 3.22 January 15, 2003 Novell, Inc.
Auto-loading module ZENIMGDS.NLM
ZENworks Imaging DS Library
Version 3.22b March 20, 2003
Copyright (c) 2000, 2001, 2002, 2003, Novell, Inc.
Loading module JAVA.NLM
This module isAVA.NLM
This module is ALREADY loaded and cannot be loaded more than once.
Loading module SYMCJIT.NLM
Symantec Java JIT for Netware 02
Version 3.10u October 21, 2002
Copyright (C) 1997-200 1996-1999 Symantec Corporation
Portions Copyright (C)
Symantec Java! JustInTime Compiler Version 3.10.110(x) for the Java 2Platform
Copyright (C) 1996-99 Symantec Corporation
Symantec Java! JustInTime Compiler Version 3.10.110(x) for the Java 2Platform
Copyright (C) 1996-99
Copyright (C) 1996-99 Symantec Corporation
Symantec Java! JustInTime Compiler Version 3.10.110(x) for the Java 2Platform
Copyright (C) 1996-99 Symantec Corporation
Exception in thread "main" java.lang.NoClassDefFoundError:
com/novell/applicatio
n/zenworks/autowsmanagement/wsimport/ImportWorkstations
java: Class
com.novell.application.zenworks.autowsmanagement.w simport.ImportWork
stations exited with status 1
Loading module JNET.NLM
Java net (based on 1.3)
Version 1.31d March 13, 2003
Copyright (c) 2003 Novell, Inc.
Portions Copyright (c) 2002 Sun Microsystems
Naming Service ready on port 2544
Loading module JNCPV2.NLM
Native Wrapper Java Class Libraries for NetWare
Version 1.10 February 18, 2003
Copyright 1997-1999 Novell, Inc. All Rights Reserved.
Loading module ZENWS.NLM
Zen Workstation Utility NLM
Version 1.00 November 13, 2000
Copyright 2000 Novell, Inc. All rights reserved.
The running process will be suspended.
java.lang.NullPointerException: data argument
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.DataOutputStream.write(Unknown Source)
at
com.novell.orb.service.naming.SocketWriterThread.r un(NamingServer.java:459)
6-04-2003 2:22:18 pm: SERVER-5.0-4631 [nmID=1001C]
WARNING! Server FSERVER1 experienced a critical error. The
offending
process was suspended or recovered. However, services hosted by
this
server may have been affected.
Server FSERVER1 halted Wednesday, June 4, 2003 2:22:17.003 pm
Abend 1 on P01: Server-5.00k: Page Fault Processor Exception (Error
code
00000000)
Registers:
CS = 0008 DS = 0010 ES = 0010 FS = 0010 GS = 0010 SS = 0010
EAX = D8005990 EBX = 00000000 ECX = B8300E20 EDX = B8300E20
ESI = FAFD7A2C EDI = B8300DA0 EBP = D809B530 ESP = BB1E1D44
EIP = B86F6C96 FLAGS = 00010282
B86F6C96 8B03 MOV EAX,[EBX]=?
EIP in JVM.NLM at code start +00007C96h
Access Location: 0x00000000
The violation occurred while processing the following instruction:
B86F6C96 8B03 MOV EAX,[EBX]
B86F6C98 F6405610 TEST byte ptr [EAX+56],10
B86F6C9C 754F JNZ B86F6CED
B86F6C9E 53 PUSH EBX
B86F6C9F E8FCD7FFFF CALL JVM.NLM|LinkClass
B86F6CA4 83C404 ADD ESP,00000004
B86F6CA7 E8C4040000 CALL JVM.NLM|EE
B86F6CAC 8A7010 MOV DH,[EAX+10]
B86F6CAF 89C6 MOV ESI,EAX
B86F6CB1 84F6 TEST DH,DH
Running process: Java_1178 Main Process
Created by: NetWare Application
Thread Owned by NLM: JAVA.NLM
Stack pointer: BB1E1B20
OS Stack limit: BB1C2E60
Scheduling priority: 67371008
Wait state: 3030070 (Yielded CPU)
Stack: --FAFD7A2C ?
--00000000 ?
B87057F0 (JVM.NLM|jni_mkRefLocal+D0)
--00000000 ?
--D8012290 ?
--D8005990 (SERVER.NLM|UserAddressSpace+5990)
--B8300DA0 ?
--BB1E2D0C ?
--D809B530 ?
--B8300DA0 ?
--B8300DA0 ?
--00000000 ?
B8706E5D (JVM.NLM|jni_FatalError+7FD)
--B8300DA0 ?
--00000000 ?
--FAFD7A2C ?
--FAFD7A28 ?
--00000000 ?
--00000001 ?
--B8300DA0 ?
BB67CC67 (JNET.NLM|NET_GetFileDescriptorID+27)
--B8300DA0 ?
--00000000 ?
--FAFD7A2C ?
--FAFD7A28 ?
--B8300DA0 ?
BB67C7EB (JNET.NLM|Java_java_net_SocketInputStream_init+4B)
--B8300DA0 ?
--D86DD33C ?
B86FF694 (JVM.NLM|ThreadCPUTimeMillis+194)
--B8300DA0 ?
--BB1E1DD8 ?
--E1866570 ?
--00000000 ?
--D80161E8 ?
--D86DD33C ?
B86F651E (JVM.NLM|invokeLazyNativeMethod+16E)
--E1866570 ?
--D86DD33C ?
--00000000 ?
--B8300DA0 ?
--00010001 ?
--D809B528 ?
--D809B558 ?
--D8751138 ?
--E1866570 ?
B873656F (JVM.NLM|__irem_trap6+13BB)
--E1866570 ?
--D86DD33C ?
--00000000 ?
--B8300DA0 ?
--00000000 ?
--BB1E1ECC ?
--D809B4F4 ?
--D8004771 (SERVER.NLM|UserAddressSpace+4771)
--D86DD008 ?
--D809B4F4 ?
--00000000 ?
B86FE328 (JVM.NLM|do_execute_java_method_vararg+368)
--BB1E1E58 ?
--B8300DA0 ?
--BB1E1E50 ?
--D86DD198 ?
--E189A3A0 ?
--D865F00C ?
--0000006B ?
B86EF471 (JVM.NLM|ResolveClassConstant+B1)
--00898A80 ?
--BB1E1E30 ?
--B10100D9 ?
--00000000 ?
--B8300DA0 ?
--00000000 ?
--B8300DA0 ?
--E1866570 ?
--00000000 ?
--00000000 ?
B86FDFB0 (JVM.NLM|do_execute_java_method+30)
--B8300DA0 ?
--E1866570 ?
--D8004750 (SERVER.NLM|UserAddressSpace+4750)
--D8004770 (SERVER.NLM|UserAddressSpace+4770)
--D86DD198 ?
--00000001 ?
--BB1E1ECC ?
--00000000 ?
--00000000 ?
--D8004770 (SERVER.NLM|UserAddressSpace+4770)
--D86DD198 ?
--B8300DA0 ?
--E1866570 ?
B86F6BB0 (JVM.NLM|PrepareInvoker+160)
--B8300DA0 ?
--E1866570 ?
--00000000 ?
--00000000 ?
--D86DD198 ?
--00000001 ?
--D809B4B4 ?
--D865F00C ?
Additional Information:
The CPU encountered a problem executing code in JVM.NLM. The
problem
may be in that module or in data passed to that module by a process
owned by
JAVA.NLM.
Loaded Modules:
ZENWS.NLM Zen Workstation Utility NLM
Version 1.00 November 13, 2000
Code Address: BB9AA000h Length: 0000230Bh
Data Address: BB9AE000h Length: 00000474h
JNCPV2.NLM Native Wrapper Java Class Libraries for NetWare
Version 1.10 February 18, 2003
Code Address: BB897000h Length: 00020F0Dh
Data Address: BB8B9000h Length: 000025E8h
JNET.NLM Java net (based on 1.3)
Version 1.31d March 13, 2003
Code Address: BB67A000h Length: 00002CBDh
Data Address: BB67E000h Length: 00000AC0h
SYMCJIT.NLM Symantec Java JIT for Netware Java 1.3.x
Version 3.10u October 21, 2002
Code Address: BB3DF000h Length: 00061FDAh
Data Address: BB442000h Length: 000133E8h
IMGSERV.NLM ZENworks Imaging Server
Version 3.22 January 15, 2003
Code Address: BB0AB000h Length: 0000A92Dh
Data Address: BB0B7000h Length: 00003E6Ah
ZENIMGDS.NLM ZENworks Imaging DS Library
Version 3.22b March 20, 2003
Code Address: BB079000h Length: 0000B1CDh
Data Address: BB086000h Length: 00005436h
ZIP.NLM Java zip (based on 1.3)
Version 1.31d March 13, 2003
Code Address: BB034000h Length: 0000AD6Ch
Data Address: BB040000h Length: 00001B30h
DBSRV7.NLM Sybase Adaptive Server Anywhere 7.0.0.505
Version 7.00 December 14, 2000
Code Address: BAD27000h Length: 00206F52h
Data Address: BAF2F000h Length: 0004C2D0h
JVMLIB.NLM Java jvmlib (based on 1.3)
Version 1.31d March 13, 2003
Code Address: BACD4000h Length: 00016671h
Data Address: BACEC000h Length: 00005890h
VERIFY.NLM Java verify (based on 1.3)
Version 1.31d March 13, 2003
Code Address: BAC80000h Length: 00008294h
Data Address: BAC8A000h Length: 00001A40h
JVM.NLM Java jvm (based on 1.3)
Version 1.31d March 13, 2003
Code Address: B86EF000h Length: 00048DAFh
Data Address: B8763000h Length: 000077D4h
JSOCK5X.NLM NetWare 5.x Support For Java Sockets
Version 1.31a March 13, 2003
Code Address: B832E000h Length: 00007DADh
Data Address: B8337000h Length: 00000DE0h
JAVA.NLM Novell JVM Version 1.3.1_06 Build 03031310
Version 1.31d March 13, 2003
Code Address: B8277000h Length: 0002AB91h
Data Address: B82A3000h Length: 00009E98h
JSOCK.NLM Support For Java Sockets
Version 1.31a March 13, 2003
Code Address: B826F000h Length: 000000B3h
Data Address: B8271000h Length: 00000074h
SWEEP.NLM Sophos Anti-Virus User Interface
Version 2.16 September 16, 2002
Code Address: B8D8A000h Length: 000311BFh
Data Address: B8DBD000h Length: 0004B481h
SWENGINE.NLM Sophos Anti-Virus engine
Version 2.14 March 12, 2003
Code Address: B8C8D000h Length: 000C6F5Bh
Data Address: B8D55000h Length: 0001F766h
TNRLTCP.NLM Backup Exec - Peer TCP Support
Version 8.50 August 11, 2000
Code Address: C9BC2000h Length: 00002988h
Data Address: C9BC6000h Length: 00000DDCh
TNRLSPX.NLM Backup Exec - Peer SPX Support
Version 8.50 August 11, 2000
Code Address: C9B3D000h Length: 00002D08h
Data Address: C9B41000h Length: 00000CF8h
COMDAT.NLM Backup Exec - Common DAT Target Handler
Version 7.50 January 17, 2002
Code Address: C97CD000h Length: 00002A43h
Data Address: C97D1000h Length: 00000048h
BECLIENT.NLM Backup Exec - NetWare Client
Version 8.50 June 30, 2000
Code Address: D5672000h Length: 00078BD9h
Data Address: D56EC000h Length: 0000DAC8h
BEMGR.NLM Backup Exec - Job Manager
Version 8.50 September 7, 2000
Code Address: D5433000h Length: 0006AD1Dh
Data Address: D549F000h Length: 000079D8h
BESRVR.NLM Backup Exec - Job Server
Version 8.50 March 18, 2002
Code Address: D5277000h Length: 000D8F73h
Data Address: D5351000h Length: 00020DB0h
AD_ASPI.NLM Backup Exec ASPI Device Driver for NetWare
Version 7.50 May 28, 2002
Code Address: D50DA000h Length: 00012590h
Data Address: D50EE000h Length: 0000735Fh
NRLTLI.NLM Backup Exec - Remote Workstation Backup Software
Version 8.50 August 11, 2000
Code Address: D5062000h Length: 00002378h
Data Address: D5066000h Length: 00000BA8h
BEPSVR.NLM Backup Exec - NCPE Server
Version 8.50 March 19, 2002
Code Address: D4F7C000h Length: 00027F7Dh
Data Address: D4FA5000h Length: 00007600h
NDPDS.NLM NDPS Print Device Subsystem for NetWare Servers
Version 3.00 July 17, 2001
Code Address: D4D2A000h Length: 0000B219h
Data Address: D4D37000h Length: 000019E4h
PH.NLM NDPS Port Handler for NetWare Servers
Version 3.00a April 29, 2002
Code Address: D4C92000h Length: 0000FD87h
Data Address: D4CA3000h Length: 000016D4h
XGATEWAY.NLM NDPS GATEWAY FOR XEROX PRINTERS
Version 2.36 March 20, 2003
Code Address: D4AC1000h Length: 000286EAh
Data Address: D4AEB000h Length: 0000A5C4h
OTMLAPI.NLM Open Transaction Manager (OTM) build 237
Version 1.11 April 22, 2002
Code Address: D4924000h Length: 000179A6h
Data Address: D493D000h Length: 00011910h
PMTHREAD.NLM NetWare Thread Primitives library
Version 1.00 April 22, 2002
Code Address: D4908000h Length: 00003C3Fh
Data Address: D490D000h Length: 00000FD0h
MATHLIB.NLM NetWare Math Library Auto-Load Stub
Version 4.21 October 7, 1998
Code Address: D48DE000h Length: 0000000Ah
Data Address: 00000000h Length: 00000000h
Global Code Address: D48E0000h Length: 00001000h
HPGATE.NLM Hewlett-Packard NDPS Gateway
Version 2.00u January 14, 2000
Code Address: D46D4000h Length: 00022687h
Data Address: D46F8000h Length: 00008E34h
PFPNPD.NLM NDPS PerfectFit Printing Interface
Version 2.00c April 29, 1999
Code Address: D46A0000h Length: 0000BD3Bh
Data Address: D46AD000h Length: 000012C4h
PFPLIB.NLM NDPS PerfectFit Printing Library
Version 2.00b March 19, 1999
Code Address: D4642000h Length: 00007F0Eh
Data Address: D464B000h Length: 0000008Ch
OTMCDM.CDM Open Transaction Manager (OTM) CDM Filter
Version 1.00 April 22, 2002
Code Address: D44B1000h Length: 00003134h
Data Address: 6D35E000h Length: 00000A18h
NWASPI.CDM Novell ASPI Layer
Version 3.25 October 14, 2002
Code Address: D43A4000h Length: 00002C67h
Data Address: 70B9D000h Length: 000003E4h
TSANDS.NLM TSA for Novell eDirectory 7.x, 8.x
Version 10110.95 September 26, 2002
Code Address: D4300000h Length: 0001237Ch
Data Address: D4314000h Length: 000017C0h
TSA500.NLM NetWare 5.1 Target Service Agent
Version 5.05d February 3, 2003
Code Address: D4240000h Length: 00027D23h
Data Address: D4269000h Length: 00005240h
SMDR.NLM SMS - Storage Data Requestor
Version 6.50c January 28, 2003
Code Address: D416A000h Length: 00027554h
Data Address: D4193000h Length: 0000291Ch
SPXS.NLM NetWare SPX/SPXII Protocol (PTF)
Version 5.14 January 18, 2000
Code Address: D410A000h Length: 0000A021h
Data Address: D4116000h Length: 00000FD8h
Global Code Address: D4118000h Length: 00001000h
RMANSRVR.NLM NDPS Resource Manager
Version 3.03a October 18, 2002
Code Address: D3F88000h Length: 0001C772h
Data Address: D3FA6000h Length: 00002728h
NIPPZLIB.NLM General Purpose ZIP File Library for NetWare
Version 1.00a December 20, 2002
Code Address: D3F70000h Length: 00002A23h
Data Address: D3F74000h Length: 00000048h
ZLIB.NLM ZLIB 1.1.4 General Purpose Compression Library for
NetWare
Version 1.01d December 20, 2002
Code Address: D3F54000h Length: 0000BAB4h
Data Address: D3F61000h Length: 000014D8h
THEJUDGE.NLM NetWare Operating System Physical Memory Judge
Version 5.10 March 3, 2000
Code Address: D3EC5000h Length: 0000364Eh
Data Address: D3ECA000h Length: 000002C8h
NTFYDPOP.ENM Directed Pop-Up Delivery Method
Version 2.00c February 26, 1999
Code Address: D3E64000h Length: 000049C5h
Data Address: D3E6A000h Length: 000002F5h
NTFYWSOC.ENM Winsock Delivery Method
Version 2.00c February 26, 1999
Code Address: D3E1D000h Length: 000049C5h
Data Address: D3E23000h Length: 000002F5h
NTFYSPX.ENM SPX Delivery Method
Version 2.00c February 26, 1999
Code Address: D3DCD000h Length: 00004648h
Data Address: D3DD3000h Length: 000002DDh
HWDETECT.NLM Novell Hardware Insertion/Removal Detection
Version 1.18e January 23, 2003
Code Address: D3D8F000h Length: 00002B33h
Data Address: D3D93000h Length: 00000D50h
NTFYRPC.ENM RPC Delivery Method
Version 2.00c February 26, 1999
Code Address: D3D4A000h Length: 000042E1h
Data Address: D3D50000h Length: 00000328h
NTFYPOP.ENM Pop Up Delivery Method
Version 2.00c May 21, 1999
Code Address: D3CFA000h Length: 00001047h
Data Address: D3CFD000h Length: 000004C1h
NTFYLOG.ENM Log File Delivery Method
Version 2.00c May 25, 1999
Code Address: D3CB3000h Length: 00001461h
Data Address: D3CB6000h Length: 00000C81h
NTFYSRVR.NLM NDPS Notification Server
Version 3.00e August 7, 2002
Code Address: D3C48000h Length: 00013B97h
Data Address: D3C5D000h Length: 0000145Ch
BKUPEXEC.NLM Backup Exec SureStart
Version 8.50 January 29, 2001
Code Address: D3AC0000h Length: 0000F5CDh
Data Address: D3AD1000h Length: 0000DC0Fh
REGSRVR.NLM NDPS Service Registry
Version 3.00f March 25, 2002
Code Address: D3A0A000h Length: 000097D1h
Data Address: D3A15000h Length: 00000BFCh
NDPSM.NLM NDPS Manager
Version 3.01a February 18, 2003
Code Address: D3944000h Length: 0006C5E8h
Data Address: D39B2000h Length: 0001B348h
DPLSV386.NLM NetWare 5.x, 6.x Distributed Print Library - DPLSV386
Version 1.08f February 12, 2003
Code Address: D38AF000h Length: 0005F22Dh
Data Address: D3910000h Length: 00006644h
NIPPED.NLM NetWare 5.x, 6.x INF File Editing Library - NIPPED
Version 1.03 December 20, 2002
Code Address: D3882000h Length: 0000524Dh
Data Address: D3889000h Length: 0000016Ch
SCRSAVER.NLM NetWare 5 Screen Saver
Version 1.02a January 27, 2003
Code Address: D36B2000h Length: 00006C41h
Data Address: D36BA000h Length: 00000EA8h
RCONAG6.NLM RConsole Agent for Netware
Version 6.10d January 28, 2003
Code Address: D35C7000h Length: 00005085h
Data Address: D35CE000h Length: 00002E40h
BROKER.NLM NDPS Broker
Version 3.00g January 29, 2003
Code Address: D3547000h Length: 0000FAA0h
Data Address: D3558000h Length: 00006808h
DPRPCNLM.NLM Novell NDPS RPC Library NLM
Version 3.00m February 12, 2003
Code Address: D3523000h Length: 000052D4h
Data Address: D352A000h Length: 00001CB0h
SLPDA.NLM SERVICE LOCATION NDS DIRECTORY AGENT (RFC2165)
Version 1.07k November 12, 2002
Code Address: D31FF000h Length: 00006173h
Data Address: D3207000h Length: 00003260h
SQLCODBC.NLM SQL Connector ODBC
Version 1.00 September 15, 1999
Code Address: D31C5000h Length: 00004CE9h
Data Address: D31CB000h Length: 0000069Ch
VTXODBC.NLM VORTEXodbc
Version 2.08b September 30, 1999
Code Address: D3176000h Length: 0000E13Dh
Data Address: D3186000h Length: 0000D670h
SQLCMON.NLM SQL Connector Monitor
Version 1.00 October 22, 1999
Code Address: D30AA000h Length: 00018C7Ch
Data Address: D30C4000h Length: 00006C44h
WEBDAV.NLM Novell WebDAV NSAPI plugin
Version 5.10f January 24, 2003
Code Address: D275C000h Length: 00028EEAh
Data Address: D2786000h Length: 00007D60h
VTXNETD.NLM VORTEX network daemon
Version 3.05b September 30, 1999
Code Address: D2706000h Length: 000033ADh
Data Address: D270B000h Length: 00002DE0h
NWHDIR.NLM Novonyx User Home Directories
Version 5.10c September 13, 2002
Code Address: D269F000h Length: 0000367Bh
Data Address: D26A4000h Length: 0000098Ch
QFIND215.NLM QuickFinder Engine
Version 2.15l October 2, 2001
Code Address: D256D000h Length: 0009FEA0h
Data Address: D260E000h Length: 000204D5h
NWFTPD.NLM NetWare FTP Server
Version 5.03l February 12, 2003
Code Address: D238C000h Length: 00014B99h
Data Address: D23A2000h Length: 0000AEB0h
FTPIF.NLM Interface Module for NetWare FTP Server and
Statistics
Version 2.07i January 6, 2003
Code Address: D2370000h Length: 0000051Ch
Data Address: D2372000h Length: 00000030h
ADMSERV.NLM NetWare Web Manager
Version 5.10c May 1, 2001
Code Address: D2226000h Length: 0005A16Ch
Data Address: D2282000h Length: 00045384h
NSHTTPD.NLM NetWare Enterprise Web Server
Version 5.10f January 24, 2003
Code Address: D1EE7000h Length: 00191DC8h
Data Address: D207A000h Length: 00083568h
NWGLOBSM.NLM nwglobsm CGI
Version 5.10c May 1, 2001
Code Address: D1E99000h Length: 000016CBh
Data Address: D1E9C000h Length: 00000824h
NSLCGI.NLM LCGI support library
Version 5.10c May 1, 2001
Code Address: D1E20000h Length: 0000DC33h
Data Address: D1E2F000h Length: 00002EC8h
CSSYSMSG.NLM CSLIB: System Messages Facility
Version 1.01h March 18, 1999
Code Address: D1D6C000h Length: 00010A57h
Data Address: D1D7E000h Length: 00004298h
NETDB.NLM NETWORK DATABASE ACCESS NLM
Version 4.10s June 17, 2002
Code Address: D1CFF000h Length: 00013480h
Data Address: D1D14000h Length: 00002638h
NSSNMP.NLM NSSNMP
Version 5.10c May 1, 2001
Code Address: D19B9000h Length: 000046F2h
Data Address: D19BF000h Length: 0000164Ch
NWSNUT.NLM NetWare NLM Utility User Interface
Version 6.01d October 7, 2002
Code Address: D193D000h Length: 000124EBh
Data Address: D1951000h Length: 000006E0h
CRON.NLM NetWare Scheduler
Version 1.70 June 8, 1998
Code Address: D179B000h Length: 00000BFCh
Data Address: D179D000h Length: 00000308h
NLDAP.NLM LDAP v3 for NDS 8
Version 3.23 August 15, 2001
Code Address: D1701000h Length: 0002A145h
Data Address: D172D000h Length: 0000F220h
SAS.NLM Secure Authentication Services
Version 1.70 May 7, 2002
Code Address: D1584000h Length: 00056370h
Data Address: D15DC000h Length: 0001E480h
SAL.NLM Novell System Abstraction Layer Version 2.0.0
Version 10110.05 November 20, 2001
Code Address: D1568000h Length: 0000793Ah
Data Address: D1571000h Length: 000011F0h
BTCPCOM.NLM BTCPCOM.NLM v7.0.600, Build 154
Version 7.00 August 19, 1999
Code Address: D147D000h Length: 00002A16h
Data Address: D1481000h Length: 00000B50h
PORTAL.NLM NetWare Portal NLM
Version 1.10b February 27, 2003
Code Address: D12C6000h Length: 00069582h
Data Address: D1331000h Length: 0002AD1Ch
NWIDK.NLM CDWare Volume Module
Version 2.00 March 18, 1999
Code Address: D12AD000h Length: 000035D0h
Data Address: D12B2000h Length: 00000730h
PARTAPI.NLM Partition APIs
Version 1.21 December 21, 1999
Code Address: D12A9000h Length: 00000879h
Data Address: D12AB000h Length: 00000114h
WSPSSL.NLM NetWare Winsock Service 1.0 NLM for SSL
Version 6.20b February 21, 2003
Code Address: D10AF000h Length: 00005EC3h
Data Address: D10B6000h Length: 000108DFh
HTTPSTK.NLM Novell Small Http Interface
Version 1.10 January 15, 2003
Code Address: D0E8B000h Length: 00016386h
Data Address: D0EA3000h Length: 000121A0h
BSPXCOM.NLM BSPXCOM.NLM v7.0.600, Build 154
Version 7.00 August 19, 1999
Code Address: D0E68000h Length: 00003D46h
Data Address: D0E6D000h Length: 00000A18h
NILE.NLM Novell Secure Socket Services NLM With Debug Symbols
Version 1.06a January 17, 2003
Code Address: D0D3C000h Length: 0005325Bh
Data Address: D0D91000h Length: 0001F3D0h
PKI.NLM Novell Certificate Server
Version 2.03b November 7, 2000
Code Address: D0C96000h Length: 0006FA25h
Data Address: D0D07000h Length: 0001DC00h
PKIAPI.NLM Public Key Infrastructure Services
Version 2.03 March 12, 2002
Code Address: D0B9D000h Length: 0002C911h
Data Address: D0BCB000h Length: 00007214h
NWUTIL.NLM Novell Utility Library NLM ()
Version 1.03e December 13, 2002
Code Address: D0B22000h Length: 00012A48h
Data Address: D0B36000h Length: 00019D64h
NWBSRVCM.NLM NWBSRVCM.NLM v7.0.600, Build 154
Version 7.00 August 19, 1999
Code Address: D0A37000h Length: 00006046h
Data Address: D0A3F000h Length: 00000A30h
SERVINST.NLM NetWare 5.x/6.x Instrumentation
Version 5.00h February 11, 2003
Code Address: D0473000h Length: 0001053Ch
Data Address: D0485000h Length: 00007484h
HOSTMIB.NLM NetWare 5.x/6.x Host Resources MIB
Version 5.00j February 18, 2003
Code Address: CFFD1000h Length: 0000B4C0h
Data Address: CFFDE000h Length: 00003CD8h
NLSTRAP.NLM NetWare License Server Trap
Version 5.02 July 26, 2001
Code Address: CF39D000h Length: 000028EEh
Data Address: CF3A1000h Length: 00000689h
NLSFLAIM.NLM NLS FLAIM Database Engine
Version 5.02 July 31, 2001
Code Address: CF2FC000h Length: 00071D97h
Data Address: CF36F000h Length: 00006FB4h
NSPDNS.NLM NetWare Winsock 2.0 NSPDNS.NLM Name Service Providers
Version 6.20a February 19, 2003
Code Address: CCD82000h Length: 0000230Fh
Data Address: CCD86000h Length: 000004E4h
WSPIP.NLM NetWare Winsock Service 1.0 NLM for TCP and UDP
Version 6.20b February 21, 2003
Code Address: CCD5E000h Length: 0000E894h
Data Address: CCD6E000h Length: 0000208Ch
SLPTCP.NLM SERVICE LOCATION TCP/UDP INTERFACE (RFC2165)
Version 1.07k November 12, 2002
Code Address: CCD03000h Length: 00002967h
Data Address: CCD07000h Length: 00000C80h
NCPIP.NLM NetWare NCP Services over IP
Version 1.35 February 14, 2002
Code Address: CCC84000h Length: 00013CC9h
Data Address: CCC99000h Length: 000020E0h
BSDSOCK.NLM Novell BSDSOCK Module (Domestic) CSP8patch_17Aug2k2 Version 6.13b August 17, 2002
Code Address: CC7B2000h Length: 0000C5A9h
Data Address: CC7C0000h Length: 0000BB00h
TCPIP.NLM Novell TCP/IP Stack - Network module (128 bit
encryption)
Version 5.91o October 30, 2002
Code Address: CC152000h Length: 0006069Bh
Data Address: CC1B4000h Length: 00032201h
TCP.NLM Novell TCP/IP Stack - Transport module (128 bit
encryption)
Version 5.91o October 30, 2002
Code Address: CC084000h Length: 0001F2FBh
Data Address: CC0A5000h Length: 00078E30h
NETLIB.NLM Novell TCPIP NETLIB Module CSP9_Rel
Version 6.03a October 7, 2002
Code Address: CBEDE000h Length: 00008CFCh
Data Address: CBEE8000h Length: 000D08C0h
CSLIND.NLM TCPIP CSL INDEPENDENCE MODULE 7Dec99 7Dec99
Version 4.21 December 7, 1999
Code Address: CBDE4000h Length: 000003CCh
Data Address: CBDE6000h Length: 000024E0h
LSAPI.NLM NLS LSAPI Library
Version 5.02 January 7, 2003
Code Address: CBDA4000h Length: 0000A51Bh
Data Address: CBDB0000h Length: 00001B00h
NLSAPI.NLM NLSAPI
Version 5.02 January 7, 2003
Code Address: CBCB4000h Length: 000124ABh
Data Address: CBCC8000h Length: 000022A4h
CE1000.LAN Intel(R) 8254X Based Network Connection
Version 6.76 September 25, 2002
Code Address: CBC40000h Length: 0000F730h
Data Address: 7FDEC000h Length: 000067E7h
ETHERTSM.NLM Novell Ethernet Topology Specific Module
Version 3.89 January 27, 2003
Code Address: CBC38000h Length: 000024D7h
Data Address: CBC3C000h Length: 000002BCh
MSM.NLM Novell Multi-Processor Media Support Module
Version 4.10 January 24, 2003
Code Address: CBC17000h Length: 0000E5B3h
Data Address: CBC27000h Length: 00003DCCh
CONNAUD.NLM Licensed Connection Meter
Version 3.10 September 12, 2002
Code Address: CBBB2000h Length: 00003683h
Data Address: CBBB7000h Length: 00000A9Ch
NLSMETER.NLM NLS - Software Usage Metering Database
Version 3.23 January 29, 2003
Code Address: CBB99000h Length: 0000E973h
Data Address: CBBA9000h Length: 0000785Ch
NLSLSP.NLM NLS - License Service Provider
Version 5.02 November 25, 2002
Code Address: CBAE3000h Length: 00069D77h
Data Address: CBB4E000h Length: 0001EDB8h
NSPSAP.NLM NetWare Winsock 2.0 NLM NSPSAP.NLM Name Service
Provider
Version 6.20a February 19, 2003
Code Address: CBAD7000h Length: 00001EE7h
Data Address: CBADA000h Length: 00000610h
CSL.NLM NetWare Call Support Layer For NetWare
Version 2.06b January 13, 2000
Code Address: CBA70000h Length: 0000CB32h
Data Address: CBA7E000h Length: 000028F4h
BTRIEVE.NLM BTRIEVE.NLM v7.51.001
Version 7.51 November 28, 1999
Code Address: CBA3D000h Length: 000013DFh
Data Address: CBA40000h Length: 0000097Ch
NWMKDE.NLM NWMKDE.NLM v7.51.001
Version 7.51 September 20, 1999
Code Address: CB70B000h Length: 00099797h
Data Address: CB7A6000h Length: 0002EF30h
NWAIF103.NLM nwaif103.nlm v1.00, Build 76
Version 1.00 January 23, 1998
Code Address: CB6D8000h Length: 0000FAD1h
Data Address: CB6E9000h Length: 000067B8h
NWUCMGR.NLM NWUCMGR.NLM v1.5 Build 154
Version 1.05 September 3, 1999
Code Address: CB68D000h Length: 0000D600h
Data Address: CB69C000h Length: 00004B04h
IPXS.NLM NetWare STREAMS IPX Protocol
Version 4.10a February 12, 1998
Code Address: CB567000h Length: 00001C95h
Data Address: CB56A000h Length: 000000ECh
Global Code Address: CB56C000h Length: 00001000h
WSPIPX.NLM NetWare Winsock Service 1.0 NLM for IPX and SPX
Version 6.20a February 19, 2003
Code Address: CB53F000h Length: 0000DB29h
Data Address: CB54E000h Length: 00001762h
NCPIPX.NLM NetWare NCP Services over IPX
Version 5.10 April 25, 2002
Code Address: CB529000h Length: 00005837h
Data Address: CB530000h Length: 00001268h
SNMP.NLM Netware 4.x/5.x/6.x SNMP Service
Version 4.16d February 18, 2003
Code Address: CB4F2000h Length: 00013740h
Data Address: CB507000h Length: 00003110h
TLI.NLM NetWare Transport Level Interface Library
Version 4.30b December 19, 2000
Code Address: CB4D0000h Length: 00003859h
Data Address: CB4D5000h Length: 00000164h
Global Code Address: CB4D7000h Length: 00001000h
Global Data Address: CB4D9000h Length: 00002000h
CONLOG.NLM System Console Logger
Version 1.04b February 23, 1999
Code Address: CB46B000h Length: 00001D8Ch
Data Address: CB46E000h Length: 00001C50h
AFTER311.NLM NetWare 3.11 Compatible NLM Support Module
Version 4.10a October 21, 1994
Code Address: CB467000h Length: 00000018h
Data Address: CB469000h Length: 00000004h
IPXSPX.NLM NetWare IPX/SPX Protocol Stack NLM
Version 5.04 November 20, 2001
Code Address: CB418000h Length: 0000FC60h
Data Address: CB429000h Length: 00009ACCh
NSPNDS.NLM NetWare Winsock 2.0 NSPNDS.NLM Name Service Provider Version 6.20 November 12, 2001
Code Address: CB406000h Length: 00006547h
Data Address: CB40E000h Length: 00000518h
CALNLM32.NLM NetWare NWCalls Runtime Library
Version 5.05h March 11, 2003
Code Address: CB3B0000h Length: 00017349h
Data Address: CB3C9000h Length: 00000510h
TIMESYNC.NLM NetWare Time Synchronization Services
Version 5.26j February 25, 2003
Code Address: CB358000h Length: 0000B63Ch
Data Address: CB365000h Length: 00003630h
CLXNLM32.NLM NetWare NWCLX Runtime Library
Version 5.05h March 11, 2003
Code Address: CB351000h Length: 000011F3h
Data Address: CB354000h Length: 000001B0h
DSAPI.NLM NetWare NWNet Runtime Library
Version 5.05h March 11, 2003
Code Address: CB34A000h Length: 00000043h
Data Address: CB34C000h Length: 00000024h
DSEVENT.NLM NetWare DSEvent Runtime Library
Version 5.05h March 11, 2003
Code Address: CB346000h Length: 00000633h
Data Address: CB348000h Length: 00000034h
NETNLM32.NLM NetWare NWNet Runtime Library
Version 5.05h March 11, 2003
Code Address: CB2FF000h Length: 00035EB9h
Data Address: CB336000h Length: 00004D26h
NCPNLM32.NLM NetWare NWNCP Runtime Library
Version 5.05h March 11, 2003
Code Address: CB2C1000h Length: 0001C0C3h
Data Address: 00000000h Length: 00000000h
CLNNLM32.NLM NetWare NWClient Runtime Library
Version 5.05h March 11, 2003
Code Address: CB2B8000h Length: 00001C72h
Data Address: CB2BB000h Length: 00000130h
CLIB.NLM Novell Standard C Runtime Library for NLMs
Version 5.90i March 25, 2003
Code Address: CB22B000h Length: 0001894Eh
Data Address: CB245000h Length: 00002FB0h
NIT.NLM NetWare Interface Tools Library for NLMs
Version 5.90i March 25, 2003
Code Address: CB1FD000h Length: 0001C694h
Data Address: CB21B000h Length: 00000690h
NLMLIB.NLM Novell NLM Runtime Library
Version 5.90i March 25, 2003
Code Address: CB199000h Length: 00025872h
Data Address: CB1C0000h Length: 00003890h
STREAMS.NLM NetWare STREAMS PTF
Version 6.00c January 18, 2002
Code Address: CB161000h Length: 000120CDh
Data Address: CB175000h Length: 000010A0h
Global Code Address: CB178000h Length: 00001000h
REQUESTR.NLM Novell NCP Requestor for NLMs
Version 5.90i March 25, 2003
Code Address: CB11D000h Length: 0001FC63h
Data Address: CB13E000h Length: 00001090h
THREADS.NLM Novell Threads Package for NLMs
Version 5.90i March 25, 2003
Code Address: CB0D8000h Length: 00018C48h
Data Address: CB0F2000h Length: 00011660h
LIB0.NLM Novell Ring 0 Library for NLMs
Version 5.90i March 25, 2003
Code Address: CAE49000h Length: 0002528Ah
Data Address: CAE70000h Length: 00228040h
DS.NLM Novell Directory Services Version 8
Version 8.85 February 6, 2003
Code Address: CA33C000h Length: 001A6B11h
Data Address: CA4E4000h Length: 00035F20h
ROLLCALL.NLM RollCall NLM (101, API 1.0)
Version 5.00 July 27, 1998
Code Address: CA336000h Length: 0000055Dh
Data Address: CA338000h Length: 000002D4h
POLIMGR.NLM NetWare License Policy Manager
Version 6.14 November 21, 2002
Code Address: CA308000h Length: 000139CCh
Data Address: CA31D000h Length: 00008C34h
NDSAUDIT.NLM Directory Services Audit
Version 2.08 August 29, 2001
Code Address: CA069000h Length: 000104A4h
Data Address: CA07B000h Length: 00002ED0h
MASV.NLM Mandatory Access Control Service
Version 1.34a August 23, 2001
Code Address: CA037000h Length: 0000F176h
Data Address: CA048000h Length: 00002340h
PMLODR.NLM PMLodr for NW51
Version 1.20 February 4, 2003
Code Address: C9F9E000h Length: 0000DE7Ah
Data Address: C9FAD000h Length: 00001684h
NSPSLP.NLM NetWare Winsock 2.0 NSPSLP.NLM Name Service Provider Version 6.20a February 19, 2003
Code Address: C9F7C000h Length: 00005ED3h
Data Address: C9F83000h Length: 00000B30h
SLP.NLM SERVICE LOCATION PROTOCOL (RFC2165)
Version 1.07k November 12, 2002
Code Address: C9F14000h Length: 00012163h
Data Address: C9F28000h Length: 00003DACh
DSLOADER.NLM Novell Directory Services Version 8 Loader
Version 1.84 January 24, 2003
Code Address: C9E2D000h Length: 00006DF6h
Data Address: C9E35000h Length: 0000060Ch
XIM.XLM Novell NICI Signed Loader
Version 1.02 May 18, 2001
Code Address: C9B49000h Length: 0001DE70h
Data Address: 7E798000h Length: 00003900h
WS2_32.NLM NetWare Winsock 2.0 NLM
Version 6.20a February 18, 2003
Code Address: C99F5000h Length: 00034902h
Data Address: C9A2B000h Length: 0001085Eh
LIBC.NLM Novell Kernel Services and Standard C Runtime Library
for
NLMs [optimized, 3]
Version 6.01b March 25, 2003
Code Address: C97F7000h Length: 0008F716h
Data Address: C9888000h Length: 000291C1h
UNI_UPR.NLM NetWare Unicode Upper Case API, V1.01
Version 1.01 July 23, 1998
Code Address: C96AB000h Length: 00000107h
Data Address: C96AD000h Length: 00002328h
UNI_MON.NLM NetWare Unicode Lower Case API, V1.01
Version 1.01 July 23, 1998
Code Address: C96A5000h Length: 00000107h
Data Address: C96A7000h Length: 0000207Ch
UNI_437.NLM NetWare Unicode conversion API for code page 437,
V1.01
Version 1.01 July 23, 1998
Code Address: C969D000h Length: 000001B7h
Data Address: C969F000h Length: 00000B44h
LOCNLM32.NLM NetWare NWLocale Runtime Library
Version 5.05h March 11, 2003
Code Address: C9691000h Length: 000047EBh
Data Address: C9697000h Length: 00000C60h
UNICODE.NLM NetWare Unicode Runtime Library
Version 5.05h March 11, 2003
Code Address: C965D000h Length: 00003413h
Data Address: C9662000h Length: 00008AE4h
NCP.NLM NetWare Core Protocol (NCP) Engine
Version 5.10a January 16, 2003
Code Address: C960C000h Length: 0002397Fh
Data Address: C9631000h Length: 00018244h
QUEUE.NLM NetWare Queue Services NLM
Version 5.10 June 20, 2000
Code Address: C95B0000h Length: 00006D70h
Data Address: C95B8000h Length: 000000A0h
FILESYS.NLM NetWare File System NLM
Version 5.10 November 20, 2002
Code Address: C839F000h Length: 0008D7E7h
Data Address: C842E000h Length: 00012B80h
LFS.NLM NetWare Logical File System NLM
Version 5.10 October 31, 2002
Code Address: C8363000h Length: 000093ECh
Data Address: C836E000h Length: 0000832Ch
CONNMGR.NLM NetWare Connection Manager NLM
Version 5.11 October 22, 2002
Code Address: C82ED000h Length: 0000D355h
Data Address: C82FC000h Length: 00002838h
SGUID.NLM NetWare 5 GUID Services
Version 1.52 October 18, 2000
Code Address: C82CF000h Length: 00000C0Ch
Data Address: C82D1000h Length: 000000FAh
LSL.NLM Novell NetWare Link Support Layer
Version 4.77 February 4, 2003
Code Address: C808D000h Length: 0000A5E7h
Data Address: C8099000h Length: 00009EC8h
BKSTROSM.HAM Novell I2O Block Storage Class OSM
Version 1.18 February 16, 2000
Code Address: C8011000h Length: 000034D4h
Data Address: 7C8C8000h Length: 000007D4h
I2OPCI.NLM Novell I2O PCI Bus Driver. I2OPCI -- I2O v1.5d
Version 1.10 September 25, 2001
Code Address: D0944000h Length: 000019D9h
Data Address: 7C8BE000h Length: 000003D0h
IOPX.NLM Novell I2O Transport Driver with Management
Extensions.
IOPX -- I2O SPEC v1.5d
Version 1.28 September 25, 2001
Code Address: D0907000h Length: 00015CB2h
Data Address: 7C8BF000h Length: 00004EFEh
AHA2940.HAM Adaptec Ultra Host Adapter Module
Version 8.30m August 28, 2002
Code Address: D0869000h Length: 0001FBC3h
Data Address: 7E061000h Length: 000040B4h
MPS14.PSM Platform Support Module for NetWare 5/6 and MPS v1.4compliant systems.
Version 2.09 September 4, 2002
Code Address: D0794000h Length: 0000F177h
Data Address: 00614000h Length: 000049B0h
NWPALOAD.NLM NetWare 5 NWPA Load Utility
Version 3.00 February 8, 2000
Code Address: D076C000h Length: 00000007h
Data Address: 00000000h Length: 00000000h
NWPA.NLM NetWare 5 NetWare Peripheral Architecture NLM
Version 3.09b February 4, 2003
Code Address: D070A000h Length: 00015EC6h
Data Address: D0721000h Length: 00002928h
MM.NLM NetWare Media Manager
Version 2.03a February 4, 2003
Code Address: D0689000h Length: 00022C0Fh
Data Address: D06AD000h Length: 00008BF8h
NBI.NLM NetWare Bus Interface
Version 2.28a February 25, 2002
Code Address: D062D000h Length: 00009A39h
Data Address: D0638000h Length: 00001748h
NEB.NLM Novell Event Bus
Version 1.04 September 6, 2002
Code Address: D060C000h Length: 00003F31h
Data Address: D0611000h Length: 00000724h
DIAG500.NLM Diagnostic/coredump utility for NetWare 5
Version 2.00 February 7, 2000
Code Address: D05CE000h Length: 000047F4h
Data Address: D05D4000h Length: 000152E4h
CPUCHECK.NLM NetWare Processor Checking Utility
Version 1.03 April 8, 2002
Code Address: D05C6000h Length: 00000F3Ah
Data Address: D05C8000h Length: 0000482Ch
PVER500.NLM NetWare 5.XX Version Library
Version 3.00 February 4, 2003
Code Address: D0437000h Length: 000006A3h
Data Address: D0439000h Length: 00000360h
NWKCFG.NLM NetWare Kernel Config NLM
Version 2.07 September 13, 2002
Code Address: D042A000h Length: 000038CBh
Data Address: D042F000h Length: 00002E44h
CDBE.NLM NetWare Configuration DB Engine
Version 5.11a February 19, 2003
Code Address: D008C000h Length: 0000FAA6h
Data Address: D009D000h Length: 000158BEh
SERVER.NLM NetWare Server Operating System
Version 5.00 February 27, 2003
Code Address: FC000000h Length: 00116000h
Data Address: FC516000h Length: 000DC000hThanks for posting back.
Jared L Jennings
Novell Support Forums SysOp
Using XanaNews 1.15.2.6
Geek by nature, NetWare by choice. -
Ok, so I was trying to get a JTabbedPane with 'X' icons on each tab. Searched this site, and found no answers, but loads of questions on how to do it. I've done it now, and here's my code.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
* A JTabbedPane which has a close ('X') icon on each tab.
* To add a tab, use the method addTab(String, Component)
* To have an extra icon on each tab (e.g. like in JBuilder, showing the file type) use
* the method addTab(String, Component, Icon). Only clicking the 'X' closes the tab.
public class JTabbedPaneWithCloseIcons extends JTabbedPane implements MouseListener {
public JTabbedPaneWithCloseIcons() {
super();
addMouseListener(this);
public void addTab(String title, Component component) {
this.addTab(title, component, null);
public void addTab(String title, Component component, Icon extraIcon) {
super.addTab(title, new CloseTabIcon(extraIcon), component);
public void mouseClicked(MouseEvent e) {
int tabNumber=getUI().tabForCoordinate(this, e.getX(), e.getY());
if (tabNumber < 0) return;
Rectangle rect=((CloseTabIcon)getIconAt(tabNumber)).getBounds();
if (rect.contains(e.getX(), e.getY())) {
//the tab is being closed
this.removeTabAt(tabNumber);
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
* The class which generates the 'X' icon for the tabs. The constructor
* accepts an icon which is extra to the 'X' icon, so you can have tabs
* like in JBuilder. This value is null if no extra icon is required.
class CloseTabIcon implements Icon {
private int x_pos;
private int y_pos;
private int width;
private int height;
private Icon fileIcon;
public CloseTabIcon(Icon fileIcon) {
this.fileIcon=fileIcon;
width=16;
height=16;
public void paintIcon(Component c, Graphics g, int x, int y) {
this.x_pos=x;
this.y_pos=y;
Color col=g.getColor();
g.setColor(Color.black);
int y_p=y+2;
g.drawLine(x+1, y_p, x+12, y_p);
g.drawLine(x+1, y_p+13, x+12, y_p+13);
g.drawLine(x, y_p+1, x, y_p+12);
g.drawLine(x+13, y_p+1, x+13, y_p+12);
g.drawLine(x+3, y_p+3, x+10, y_p+10);
g.drawLine(x+3, y_p+4, x+9, y_p+10);
g.drawLine(x+4, y_p+3, x+10, y_p+9);
g.drawLine(x+10, y_p+3, x+3, y_p+10);
g.drawLine(x+10, y_p+4, x+4, y_p+10);
g.drawLine(x+9, y_p+3, x+3, y_p+9);
g.setColor(col);
if (fileIcon != null) {
fileIcon.paintIcon(c, g, x+width, y_p);
public int getIconWidth() {
return width + (fileIcon != null? fileIcon.getIconWidth() : 0);
public int getIconHeight() {
return height;
public Rectangle getBounds() {
return new Rectangle(x_pos, y_pos, width, height);
}You can also specify an extra icon to put on each tab. Read my comments on how to do it.With the following code you'll be able to have use SCROLL_TAB_LAYOUT and WRAP_TAB_LAYOUT. With setCloseIcons() you'll be able to set images for the close-icons.
The TabbedPane:
import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.JTabbedPane;
import javax.swing.JViewport;
import javax.swing.SwingUtilities;
import java.awt.Color;
import java.awt.Component;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.event.EventListenerList;
import javax.swing.plaf.basic.BasicTabbedPaneUI;
import javax.swing.plaf.metal.MetalTabbedPaneUI;
* A JTabbedPane which has a close ('X') icon on each tab.
* To add a tab, use the method addTab(String, Component)
* To have an extra icon on each tab (e.g. like in JBuilder, showing the file
* type) use the method addTab(String, Component, Icon). Only clicking the 'X'
* closes the tab.
public class CloseableTabbedPane extends JTabbedPane implements MouseListener,
MouseMotionListener {
* The <code>EventListenerList</code>.
private EventListenerList listenerList = null;
* The viewport of the scrolled tabs.
private JViewport headerViewport = null;
* The normal closeicon.
private Icon normalCloseIcon = null;
* The closeicon when the mouse is over.
private Icon hooverCloseIcon = null;
* The closeicon when the mouse is pressed.
private Icon pressedCloseIcon = null;
* Creates a new instance of <code>CloseableTabbedPane</code>
public CloseableTabbedPane() {
super();
init(SwingUtilities.LEFT);
* Creates a new instance of <code>CloseableTabbedPane</code>
* @param horizontalTextPosition the horizontal position of the text (e.g.
* SwingUtilities.TRAILING or SwingUtilities.LEFT)
public CloseableTabbedPane(int horizontalTextPosition) {
super();
init(horizontalTextPosition);
* Initializes the <code>CloseableTabbedPane</code>
* @param horizontalTextPosition the horizontal position of the text (e.g.
* SwingUtilities.TRAILING or SwingUtilities.LEFT)
private void init(int horizontalTextPosition) {
listenerList = new EventListenerList();
addMouseListener(this);
addMouseMotionListener(this);
if (getUI() instanceof MetalTabbedPaneUI)
setUI(new CloseableMetalTabbedPaneUI(horizontalTextPosition));
else
setUI(new CloseableTabbedPaneUI(horizontalTextPosition));
* Allows setting own closeicons.
* @param normal the normal closeicon
* @param hoover the closeicon when the mouse is over
* @param pressed the closeicon when the mouse is pressed
public void setCloseIcons(Icon normal, Icon hoover, Icon pressed) {
normalCloseIcon = normal;
hooverCloseIcon = hoover;
pressedCloseIcon = pressed;
* Adds a <code>Component</code> represented by a title and no icon.
* @param title the title to be displayed in this tab
* @param component the component to be displayed when this tab is clicked
public void addTab(String title, Component component) {
addTab(title, component, null);
* Adds a <code>Component</code> represented by a title and an icon.
* @param title the title to be displayed in this tab
* @param component the component to be displayed when this tab is clicked
* @param extraIcon the icon to be displayed in this tab
public void addTab(String title, Component component, Icon extraIcon) {
boolean doPaintCloseIcon = true;
try {
Object prop = null;
if ((prop = ((JComponent) component).
getClientProperty("isClosable")) != null) {
doPaintCloseIcon = (Boolean) prop;
} catch (Exception ignored) {/*Could probably be a ClassCastException*/}
super.addTab(title,
doPaintCloseIcon ? new CloseTabIcon(extraIcon) : null,
component);
if (headerViewport == null) {
for (Component c : getComponents()) {
if ("TabbedPane.scrollableViewport".equals(c.getName()))
headerViewport = (JViewport) c;
* Invoked when the mouse button has been clicked (pressed and released) on
* a component.
* @param e the <code>MouseEvent</code>
public void mouseClicked(MouseEvent e) {
processMouseEvents(e);
* Invoked when the mouse enters a component.
* @param e the <code>MouseEvent</code>
public void mouseEntered(MouseEvent e) { }
* Invoked when the mouse exits a component.
* @param e the <code>MouseEvent</code>
public void mouseExited(MouseEvent e) {
for (int i=0; i<getTabCount(); i++) {
CloseTabIcon icon = (CloseTabIcon) getIconAt(i);
if (icon != null)
icon.mouseover = false;
repaint();
* Invoked when a mouse button has been pressed on a component.
* @param e the <code>MouseEvent</code>
public void mousePressed(MouseEvent e) {
processMouseEvents(e);
* Invoked when a mouse button has been released on a component.
* @param e the <code>MouseEvent</code>
public void mouseReleased(MouseEvent e) { }
* Invoked when a mouse button is pressed on a component and then dragged.
* <code>MOUSE_DRAGGED</code> events will continue to be delivered to the
* component where the drag originated until the mouse button is released
* (regardless of whether the mouse position is within the bounds of the
* component).<br/>
* <br/>
* Due to platform-dependent Drag&Drop implementations,
* <code>MOUSE_DRAGGED</code> events may not be delivered during a native
* Drag&Drop operation.
* @param e the <code>MouseEvent</code>
public void mouseDragged(MouseEvent e) {
processMouseEvents(e);
* Invoked when the mouse cursor has been moved onto a component but no
* buttons have been pushed.
* @param e the <code>MouseEvent</code>
public void mouseMoved(MouseEvent e) {
processMouseEvents(e);
* Processes all caught <code>MouseEvent</code>s.
* @param e the <code>MouseEvent</code>
private void processMouseEvents(MouseEvent e) {
int tabNumber = getUI().tabForCoordinate(this, e.getX(), e.getY());
if (tabNumber < 0) return;
CloseTabIcon icon = (CloseTabIcon) getIconAt(tabNumber);
if (icon != null) {
Rectangle rect= icon.getBounds();
Point pos = headerViewport == null ?
new Point() : headerViewport.getViewPosition();
Rectangle drawRect = new Rectangle(
rect.x - pos.x, rect.y - pos.y, rect.width, rect.height);
if (e.getID() == e.MOUSE_PRESSED) {
icon.mousepressed = e.getModifiers() == e.BUTTON1_MASK;
repaint(drawRect);
} else if (e.getID() == e.MOUSE_MOVED || e.getID() == e.MOUSE_DRAGGED ||
e.getID() == e.MOUSE_CLICKED) {
pos.x += e.getX();
pos.y += e.getY();
if (rect.contains(pos)) {
if (e.getID() == e.MOUSE_CLICKED) {
int selIndex = getSelectedIndex();
if (fireCloseTab(selIndex)) {
if (selIndex > 0) {
// to prevent uncatchable null-pointers
Rectangle rec = getUI().getTabBounds(this, selIndex - 1);
MouseEvent event = new MouseEvent((Component) e.getSource(),
e.getID() + 1,
System.currentTimeMillis(),
e.getModifiers(),
rec.x,
rec.y,
e.getClickCount(),
e.isPopupTrigger(),
e.getButton());
dispatchEvent(event);
//the tab is being closed
//removeTabAt(tabNumber);
remove(selIndex);
} else {
icon.mouseover = false;
icon.mousepressed = false;
repaint(drawRect);
} else {
icon.mouseover = true;
icon.mousepressed = e.getModifiers() == e.BUTTON1_MASK;
} else {
icon.mouseover = false;
repaint(drawRect);
* Adds an <code>CloseableTabbedPaneListener</code> to the tabbedpane.
* @param l the <code>CloseableTabbedPaneListener</code> to be added
public void addCloseableTabbedPaneListener(CloseableTabbedPaneListener l) {
listenerList.add(CloseableTabbedPaneListener.class, l);
* Removes an <code>CloseableTabbedPaneListener</code> from the tabbedpane.
* @param l the listener to be removed
public void removeCloseableTabbedPaneListener(CloseableTabbedPaneListener l) {
listenerList.remove(CloseableTabbedPaneListener.class, l);
* Returns an array of all the <code>SearchListener</code>s added to this
* <code>SearchPane</code> with addSearchListener().
* @return all of the <code>SearchListener</code>s added or an empty array if
* no listeners have been added
public CloseableTabbedPaneListener[] getCloseableTabbedPaneListener() {
return listenerList.getListeners(CloseableTabbedPaneListener.class);
* Notifies all listeners that have registered interest for notification on
* this event type.
* @param tabIndexToClose the index of the tab which should be closed
* @return true if the tab can be closed, false otherwise
protected boolean fireCloseTab(int tabIndexToClose) {
boolean closeit = true;
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
for (Object i : listeners) {
if (i instanceof CloseableTabbedPaneListener) {
if (!((CloseableTabbedPaneListener) i).closeTab(tabIndexToClose)) {
closeit = false;
break;
return closeit;
* The class which generates the 'X' icon for the tabs. The constructor
* accepts an icon which is extra to the 'X' icon, so you can have tabs
* like in JBuilder. This value is null if no extra icon is required.
class CloseTabIcon implements Icon {
* the x position of the icon
private int x_pos;
* the y position of the icon
private int y_pos;
* the width the icon
private int width;
* the height the icon
private int height;
* the additional fileicon
private Icon fileIcon;
* true whether the mouse is over this icon, false otherwise
private boolean mouseover = false;
* true whether the mouse is pressed on this icon, false otherwise
private boolean mousepressed = false;
* Creates a new instance of <code>CloseTabIcon</code>
* @param fileIcon the additional fileicon, if there is one set
public CloseTabIcon(Icon fileIcon) {
this.fileIcon = fileIcon;
width = 16;
height = 16;
* Draw the icon at the specified location. Icon implementations may use the
* Component argument to get properties useful for painting, e.g. the
* foreground or background color.
* @param c the component which the icon belongs to
* @param g the graphic object to draw on
* @param x the upper left point of the icon in the x direction
* @param y the upper left point of the icon in the y direction
public void paintIcon(Component c, Graphics g, int x, int y) {
boolean doPaintCloseIcon = true;
try {
// JComponent.putClientProperty("isClosable", new Boolean(false));
JTabbedPane tabbedpane = (JTabbedPane) c;
int tabNumber = tabbedpane.getUI().tabForCoordinate(tabbedpane, x, y);
JComponent curPanel = (JComponent) tabbedpane.getComponentAt(tabNumber);
Object prop = null;
if ((prop = curPanel.getClientProperty("isClosable")) != null) {
doPaintCloseIcon = (Boolean) prop;
} catch (Exception ignored) {/*Could probably be a ClassCastException*/}
if (doPaintCloseIcon) {
x_pos = x;
y_pos = y;
int y_p = y + 1;
if (normalCloseIcon != null && !mouseover) {
normalCloseIcon.paintIcon(c, g, x, y_p);
} else if (hooverCloseIcon != null && mouseover && !mousepressed) {
hooverCloseIcon.paintIcon(c, g, x, y_p);
} else if (pressedCloseIcon != null && mousepressed) {
pressedCloseIcon.paintIcon(c, g, x, y_p);
} else {
y_p++;
Color col = g.getColor();
if (mousepressed && mouseover) {
g.setColor(Color.WHITE);
g.fillRect(x+1, y_p, 12, 13);
g.setColor(Color.black);
g.drawLine(x+1, y_p, x+12, y_p);
g.drawLine(x+1, y_p+13, x+12, y_p+13);
g.drawLine(x, y_p+1, x, y_p+12);
g.drawLine(x+13, y_p+1, x+13, y_p+12);
g.drawLine(x+3, y_p+3, x+10, y_p+10);
if (mouseover)
g.setColor(Color.GRAY);
g.drawLine(x+3, y_p+4, x+9, y_p+10);
g.drawLine(x+4, y_p+3, x+10, y_p+9);
g.drawLine(x+10, y_p+3, x+3, y_p+10);
g.drawLine(x+10, y_p+4, x+4, y_p+10);
g.drawLine(x+9, y_p+3, x+3, y_p+9);
g.setColor(col);
if (fileIcon != null) {
fileIcon.paintIcon(c, g, x+width, y_p);
* Returns the icon's width.
* @return an int specifying the fixed width of the icon.
public int getIconWidth() {
return width + (fileIcon != null ? fileIcon.getIconWidth() : 0);
* Returns the icon's height.
* @return an int specifying the fixed height of the icon.
public int getIconHeight() {
return height;
* Gets the bounds of this icon in the form of a <code>Rectangle<code>
* object. The bounds specify this icon's width, height, and location
* relative to its parent.
* @return a rectangle indicating this icon's bounds
public Rectangle getBounds() {
return new Rectangle(x_pos, y_pos, width, height);
* A specific <code>BasicTabbedPaneUI</code>.
class CloseableTabbedPaneUI extends BasicTabbedPaneUI {
* the horizontal position of the text
private int horizontalTextPosition = SwingUtilities.LEFT;
* Creates a new instance of <code>CloseableTabbedPaneUI</code>
public CloseableTabbedPaneUI() {
* Creates a new instance of <code>CloseableTabbedPaneUI</code>
* @param horizontalTextPosition the horizontal position of the text (e.g.
* SwingUtilities.TRAILING or SwingUtilities.LEFT)
public CloseableTabbedPaneUI(int horizontalTextPosition) {
this.horizontalTextPosition = horizontalTextPosition;
* Layouts the label
* @param tabPlacement the placement of the tabs
* @param metrics the font metrics
* @param tabIndex the index of the tab
* @param title the title of the tab
* @param icon the icon of the tab
* @param tabRect the tab boundaries
* @param iconRect the icon boundaries
* @param textRect the text boundaries
* @param isSelected true whether the tab is selected, false otherwise
protected void layoutLabel(int tabPlacement, FontMetrics metrics,
int tabIndex, String title, Icon icon,
Rectangle tabRect, Rectangle iconRect,
Rectangle textRect, boolean isSelected) {
textRect.x = textRect.y = iconRect.x = iconRect.y = 0;
javax.swing.text.View v = getTextViewForTab(tabIndex);
if (v != null) {
tabPane.putClientProperty("html", v);
SwingUtilities.layoutCompoundLabel((JComponent) tabPane,
metrics, title, icon,
SwingUtilities.CENTER,
SwingUtilities.CENTER,
SwingUtilities.CENTER,
//SwingUtilities.TRAILING,
horizontalTextPosition,
tabRect,
iconRect,
textRect,
textIconGap + 2);
tabPane.putClientProperty("html", null);
int xNudge = getTabLabelShiftX(tabPlacement, tabIndex, isSelected);
int yNudge = getTabLabelShiftY(tabPlacement, tabIndex, isSelected);
iconRect.x += xNudge;
iconRect.y += yNudge;
textRect.x += xNudge;
textRect.y += yNudge;
* A specific <code>MetalTabbedPaneUI</code>.
class CloseableMetalTabbedPaneUI extends MetalTabbedPaneUI {
* the horizontal position of the text
private int horizontalTextPosition = SwingUtilities.LEFT;
* Creates a new instance of <code>CloseableMetalTabbedPaneUI</code>
public CloseableMetalTabbedPaneUI() {
* Creates a new instance of <code>CloseableMetalTabbedPaneUI</code>
* @param horizontalTextPosition the horizontal position of the text (e.g.
* SwingUtilities.TRAILING or SwingUtilities.LEFT)
public CloseableMetalTabbedPaneUI(int horizontalTextPosition) {
this.horizontalTextPosition = horizontalTextPosition;
* Layouts the label
* @param tabPlacement the placement of the tabs
* @param metrics the font metrics
* @param tabIndex the index of the tab
* @param title the title of the tab
* @param icon the icon of the tab
* @param tabRect the tab boundaries
* @param iconRect the icon boundaries
* @param textRect the text boundaries
* @param isSelected true whether the tab is selected, false otherwise
protected void layoutLabel(int tabPlacement, FontMetrics metrics,
int tabIndex, String title, Icon icon,
Rectangle tabRect, Rectangle iconRect,
Rectangle textRect, boolean isSelected) {
textRect.x = textRect.y = iconRect.x = iconRect.y = 0;
javax.swing.text.View v = getTextViewForTab(tabIndex);
if (v != null) {
tabPane.putClientProperty("html", v);
SwingUtilities.layoutCompoundLabel((JComponent) tabPane,
metrics, title, icon,
SwingUtilities.CENTER,
SwingUtilities.CENTER,
SwingUtilities.CENTER,
//SwingUtilities.TRAILING,
horizontalTextPosition,
tabRect,
iconRect,
textRect,
textIconGap + 2);
tabPane.putClientProperty("html", null);
int xNudge = getTabLabelShiftX(tabPlacement, tabIndex, isSelected);
int yNudge = getTabLabelShiftY(tabPlacement, tabIndex, isSelected);
iconRect.x += xNudge;
iconRect.y += yNudge;
textRect.x += xNudge;
textRect.y += yNudge;
}The Listener:
import java.util.EventListener;
* The listener that's notified when an tab should be closed in the
* <code>CloseableTabbedPane</code>.
public interface CloseableTabbedPaneListener extends EventListener {
* Informs all <code>CloseableTabbedPaneListener</code>s when a tab should be
* closed
* @param tabIndexToClose the index of the tab which should be closed
* @return true if the tab can be closed, false otherwise
boolean closeTab(int tabIndexToClose);
} -
Popup Dialog boxes in Extensions
I am building an extension that allows our company to insert a CFINVOKE tag for a ColdFusion component with all of the proper arguments. One of the arguments for the component is an array of address information that looks like so in CF:
<cfset AddressArray = ArrayNew(2)>
<cfset AddressArray [1][1] = "XYZ Widget">
<cfset AddressArray [1][2] = "123 Somewhere St">
<cfset AddressArray [1][3] = "Nowherevilleton">
<cfset AddressArray [1][4] = "AA">
<cfset AddressArray [1][5] = "55555">
<cfset AddressArray [1][6] = "555-555-5555">
<cfset AddressArray [1][7] = "http ://goo.gl/rTyhf45">
This array can include multiple addresses. Too add a second address simply increment the first array index number from one to 2 and repeat the structure.
My extension needs to be able to create a multidimensional array in JS that is based off a form.
The primary form for the extension holds form fields for the other component arguments which consits of checkboxes and text fields and one textarea.
The textarea needs to be populated via a second form that appears when the user clicks on the "Add Address" button which should create a second dialog box with a simple form of text fields for the name, adddres, city, state, zip, phone, and url that are need by the CF array.
What I cannot figure out how to do is create this second dialog box. I have the following JS in place but it throws an error (openDialog() is not a function)
function addAddress() {
var retVals = {name: null, address: null, city: null, state: null, zip: null, phone: null, url: null};
window.openDialog("MapAddress.htm","", "all=no", retVals);
I tried window.open() but that just opens my browser. MapAddress.htm is the file that contains the second form.
All I need to know is how do I create a second dialog box from inside an extension, or is this even possible?Hi,
You can open another form, but you have to pass parameters between windows (that is, your .htm files with your forms). Look at native extensions like C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS6\configuration\Commands\ServerObject-MastDetailPHP.htm for instance, and the dwscripts.callCommand() function in C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS4\configuration\Shared\Common\Scripts\dwscripts.js for an undocumented way of doing it.
But the simpliest way is to have two layers in your form and hide and display them according to your needs with some JavaScript like this:
var layer = dwscripts.findDOMObject('mylayername');
layer.style.visibility = "hidden";
or
layer.style.visibility = "visible";
Regards,
Xavier
MyDreamweaverExtensions.com -
JSF + Tomahawk component NullPointerException
Hi All,
I made a sun JSF portlet by using the tomahawk 1.1.3 file upload component. The bean "UploadedFile myFile" is not getting set in the "MyBean.java" file. I get a java.lang.NullPointerException when I am trying to myFile.getName() or myFile.getInputStream().
The inputFileUpload method should set the myFile Bean but it seems like its not getting set
1
2 <t:inputFileUpload id="myFileId"
3 value="#{myBean.myFile}"
4 storage="file"
5 required="true"/>
6 <h:message for="myFileId"/>
I am attaching the whole code below
Can somebody please help me. I have tried various versions of tomahawk and still not able to figure out the problem.
I am using JSF 1.1.0 and tomahawk 1.1.3
Please let me know if you need some more information from me
1
2======== index.jsp ==============
3
4<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
5<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
6<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
7
8<f:view>
9
10<h:form id="MyForm" enctype="multipart/form-data" >
11
12 <h:messages globalOnly="true" styleClass="message"/>
13
14 <h:panelGrid columns="3" border="0" cellspacing="5">
15
16 <h:outputLabel for="myFileId" value="File: "/>
17 <t:inputFileUpload id="myFileId"
18 value="#{myBean.myFile}"
19 storage="file"
20 required="true"/>
21 <h:message for="myFileId"/>
22
23 <h:outputLabel for="myParamId" value="Param: "/>
24 <h:selectOneMenu id="myParamId"
25 value="#{myBean.myParam}"
26 required="true">
27 <f:selectItem itemLabel="" itemValue=""/>
28 <f:selectItem itemLabel="MD5" itemValue="MD5"/>
29 <f:selectItem itemLabel="SHA-1" itemValue="SHA-1"/>
30 <f:selectItem itemLabel="SHA-256" itemValue="SHA-256"/>
31 <f:selectItem itemLabel="SHA-384" itemValue="SHA-384"/>
32 <f:selectItem itemLabel="SHA-512" itemValue="SHA-512"/>
33 </h:selectOneMenu>
34 <h:message for="myParamId"/>
35
36 <h:outputText value=" "/>
37 <h:commandButton value="Submit"
38 action="#{myBean.processMyFile}"/>
39 <h:outputText value=" "/>
40
41 </h:panelGrid>
42
43</h:form>
44
45</f:view>
46
47
48========== MyBean.java ==============
49
50<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
51<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
52<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
53
54<f:view>
55
56<h:form id="MyForm" enctype="multipart/form-data" >
57
58 <h:messages globalOnly="true" styleClass="message"/>
59
60 <h:panelGrid columns="3" border="0" cellspacing="5">
61
62 <h:outputLabel for="myFileId" value="File: "/>
63 <t:inputFileUpload id="myFileId"
64 value="#{myBean.myFile}"
65 storage="file"
66 required="true"/>
67 <h:message for="myFileId"/>
68
69 <h:outputLabel for="myParamId" value="Param: "/>
70 <h:selectOneMenu id="myParamId"
71 value="#{myBean.myParam}"
72 required="true">
73 <f:selectItem itemLabel="" itemValue=""/>
74 <f:selectItem itemLabel="MD5" itemValue="MD5"/>
75 <f:selectItem itemLabel="SHA-1" itemValue="SHA-1"/>
76 <f:selectItem itemLabel="SHA-256" itemValue="SHA-256"/>
77 <f:selectItem itemLabel="SHA-384" itemValue="SHA-384"/>
78 <f:selectItem itemLabel="SHA-512" itemValue="SHA-512"/>
79 </h:selectOneMenu>
80 <h:message for="myParamId"/>
81
82 <h:outputText value=" "/>
83 <h:commandButton value="Submit"
84 action="#{myBean.processMyFile}"/>
85 <h:outputText value=" "/>
86
87 </h:panelGrid>
88
89</h:form>
90
91</f:view>
92
93
94=========== faces-config.xml ==========
95
96<?xml version="1.0"?>
97<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
98
99<faces-config xmlns="http://java.sun.com/JSF/Configuration">
100 <managed-bean>
101 <managed-bean-name>user</managed-bean-name>
102 <managed-bean-class>com.sample.jsfsun.bean.UserBean</managed-bean-class>
103 <managed-bean-scope>session</managed-bean-scope>
104 </managed-bean>
105 <managed-bean>
106 <managed-bean-name>myBean</managed-bean-name>
107 <managed-bean-class>com.sample.jsfsun.bean.MyBean</managed-bean-class>
108 <managed-bean-scope>request</managed-bean-scope>
109 </managed-bean>
110 <navigation-rule>
111 <from-view-id>/index.jsp</from-view-id>
112 <navigation-case>
113 <from-outcome>submit</from-outcome>
114 <to-view-id>/welcome.jsp</to-view-id>
115 </navigation-case>
116 </navigation-rule>
117 <navigation-rule>
118 <from-view-id>/welcome.jsp</from-view-id>
119 <navigation-case>
120 <from-outcome>back</from-outcome>
121 <to-view-id>/index.jsp</to-view-id>
122 </navigation-case>
123 </navigation-rule>
124</faces-config>
125
126============= web.xml =============
127
128
129<?xml version="1.0"?>
130<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
131
132<web-app>
133 <display-name>friend_info_portlet</display-name>
134 <context-param>
135 <param-name>company_id</param-name>
136 <param-value>liferay.com</param-value>
137 </context-param>
138 <context-param>
139 <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
140 <param-value>client</param-value>
141 </context-param>
142 <context-param>
143 <param-name>javax.faces.application.CONFIG_FILES</param-name>
144 <param-value>/WEB-INF/faces-config.xml</param-value>
145 </context-param>
146 <context-param>
147 <param-name>com.sun.faces.validateXml</param-name>
148 <param-value>false</param-value>
149 </context-param>
150 <filter>
151 <filter-name>ExtensionsFilter</filter-name>
152 <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
153 <init-param>
154 <param-name>uploadMaxFileSize</param-name>
155 <param-value>10m</param-value>
156 </init-param>
157 <init-param>
158 <param-name>uploadThresholdSize</param-name>
159 <param-value>100k</param-value>
160 </init-param>
161 </filter>
162 <filter-mapping>
163 <filter-name>ExtensionsFilter</filter-name>
164 <servlet-name>Faces Servlet</servlet-name>
165 </filter-mapping>
166 <filter-mapping>
167 <filter-name>ExtensionsFilter</filter-name>
168 <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
169 </filter-mapping>
170 <filter-mapping>
171 <filter-name>ExtensionsFilter</filter-name>
172 <url-pattern>*.jsf</url-pattern>
173 </filter-mapping>
174 <listener>
175 <listener-class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
176 </listener>
177 <listener>
178 <listener-class>com.liferay.util.jsf.sun.faces.config.LiferayConfigureListener</listener-class>
179 </listener>
180 <servlet>
181 <servlet-name>friend_info_portlet</servlet-name>
182 <servlet-class>com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
183 <init-param>
184 <param-name>portlet-class</param-name>
185 <param-value>com.sun.faces.portlet.FacesPortlet</param-value>
186 </init-param>
187 <load-on-startup>0</load-on-startup>
188 </servlet>
189 <servlet>
190 <servlet-name>Faces Servlet</servlet-name>
191 <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
192 <load-on-startup>1</load-on-startup>
193 </servlet>
194 <servlet-mapping>
195 <servlet-name>friend_info_portlet</servlet-name>
196 <url-pattern>/friend_info_portlet/*</url-pattern>
197 </servlet-mapping>
198 <servlet-mapping>
199 <servlet-name>Faces Servlet</servlet-name>
200 <url-pattern>/faces/*</url-pattern>
201 </servlet-mapping>
202 <servlet-mapping>
203 <servlet-name>Faces Servlet</servlet-name>
204 <url-pattern>*.faces</url-pattern>
205 </servlet-mapping>
206 <welcome-file-list>
207 <welcome-file>index.jsp</welcome-file>
208 </welcome-file-list>
209 <taglib>
210 <taglib-uri>http://java.sun.com/portlet</taglib-uri>
211 <taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
212 </taglib>
213</web-app>jabalsad wrote:
contents of /WEB-INF/lib
jsf-api.jar
jsf-impl.jar
myfaces-api-1.2.7.jar
myfaces-impl-1.2.7.jar
You cannot mix differnet JSF implementations. Use the one or the other.
As you stated that you're "using" Mojarra, get rid of those myfaces jars. -
Component MethodBinding NullPointerException
Hey everybody.. this is an issue that has been giving me problems for a while now, and I haven't been able to figure it out. I've created a menu bar component which I use in this fashion in my pages:
<or:menuBar pageClass="#{menuBarBean.PAGECLASS_HOME}" msg="#{menuBarBean.numQuestionsMessage}" />In my renderer for this component, I have set up HtmlCommandLinks which are supposed to invoke navigation methods in my MenuBarBean. The problem is, whenever I click on one of the links, a NullPointerException is thrown in my renderer's encodeEnd method.
All the piping seems to be working for the tag and the component.. meaning the "pageClass" and "msg" attributes get set and rendered properly on the menuBar. Also the thing renders correctly, but I have a feeling that I'm not setting the MethodBinding correctly for the "Action" property of the CommandLink, or I'm not setting it in the right place. Here's an abbreviated version of the code behind the component:
In my 'MenuBar.java' class:
public void setHomeBinding(MethodBinding mb)
{ homeBinding = mb; }
public MethodBinding getHomeBinding()
{ return homeBinding; }In the 'setProperties' method of my 'MenuBarTag.java' class:
MethodBinding mb = getFacesContext().getApplication().createMethodBinding("#{menuBarBean.gotoHome}", null);
menuBar.setHomeBinding(mb);In the 'encodeEnd' method of 'MenuBarRenderer.java' (Here's where I create the link and set the Action to the MethodBinding)
// If is this class, show a selected tab
if(menuBar.getPageClass().equals(MenuBarBean.PAGECLASS_HOME))
HtmlGraphicImage homeButton = (HtmlGraphicImage)application.createComponent(HtmlGraphicImage.COMPONENT_TYPE);
homeButton.setUrl(IMG_HOME_SRC_SELECTED);
menuBar.getChildren().add(homeButton);
// else Render the button
else
HtmlSwapImage homeSwapImg = (HtmlSwapImage)application.createComponent(HtmlSwapImage.COMPONENT_TYPE);
homeSwapImg.setUrl(IMG_HOME_SRC_IDLE);
homeSwapImg.setSwapImageUrl(IMG_HOME_SRC_OVER);
homeSwapImg.setStyleClass("menuBarButton");
HtmlCommandLink homeButton = (HtmlCommandLink)application.createComponent(HtmlCommandLink.COMPONENT_TYPE);
homeButton.setAction(menuBar.getHomeBinding());
homeButton.getChildren().add(homeSwapImg);
menuBar.getChildren().add(homeButton);
menuBar.getChildren().add(spacer);
RendererUtils.renderChildren(facesContext, menuBar);
menuBar.getChildren().removeAll(menuBar.getChildren());And finally, in my MenuBar backing bean 'MenuBarBean.java'
public String gotoHome()
{ return("goto-home"); }
public String getPAGECLASS_HOME()
{ return PAGECLASS_HOME; }Now, like I said.. The appearance of the whole thing renders properly, image swapping and all. Just that whenever you click on one of the buttons, I get an execption, and a stack trace that looks sorta like:
ERROR[jsp]:704 - Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at packageName.MenuBarRenderer.encodeEnd(MenuBarRenderer.java:173)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
at javax.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:349)
at javax.faces.webapp.UIComponnetTag.doEndTag(UIComponentTag.java:253)
.Anybody have any suggestions, or see any glaring problems in my coding? Any help would be much appreciated. Thanks!Sure.. this snippet starts at 173:
if(!(menuBar.getMsg().equals(null)))
writer.startElement(HTML.SPAN_ELEM, menuBar);
writer.writeAttribute(HTML.CLASS_ATTR, "msgText", null);
writer.write(menuBar.getMsg());
writer.endElement(HTML.SPAN_ELEM);
}The thing is, this section of code works normally. It only throws an exception when I click on a link. -
Passing arguments to a custom component in the constructor
I would like to know if it is possible to pass arguments to a
custom component in the constructor when I'm instantiating it
within Actionscript. I've not seen anyone do this, so at the moment
I have a couple of public properties defined on the custom
component and then do the following:
var myComponent:TestComponent = new TestComponent();
myComponent.propertyOne = true;
myComponent.propertyTwo = 12;
etc.
Whereas I'd like to do something like:
var myComponent:TestComponent = new TestComponent( true, 12
Any ideas if this is possible?Another approach as opposed to creating init function is to link symbol with autogenerated class (just assign it a class but do not create *.as file for it) and use it just as graphical view with no functionality (well only MovieClip's functionality).
ViewClip.as
public class ViewClip extends MovieClip {
public var view:MovieClip;
public function ViewClip(){
this.view = instantiateView();
this.addChild(view);
protected function instantiateView():MovieClip {
return new MovieClip();
Circle.as
public class Circle extends ViewClip {
public function Circle(scaleX:Number, scaleY:Number) {
super();
override protected function instantiateView():MovieClip {
return new ClassView(); -
JDeveloper NullPointerException at View Component Palette
Hi everybody...
The JDeveloper 9.0.3 is throwing an exception when I try to view the Component palette from the main menu or Ctrl+Shift+P command.
The exception is as following:
java.lang.NullPointerException
void oracle.ideimpl.palette.PaletteImpl.populate()
PaletteImpl.java:240
void oracle.ideimpl.palette.PaletteWindowImpl.checkIfPopulated()
PaletteWindowImpl.java:323
void oracle.ideimpl.palette.PaletteWindowImpl.show()
PaletteWindowImpl.java:364
boolean oracle.ideimpl.palette.PaletteManagerImpl.handleEvent(oracle.ide.IdeAction, oracle.ide.addin.Context)
PaletteManagerImpl.java:174
void oracle.ide.IdeAction$1.run()
IdeAction.java:579
void java.awt.event.InvocationEvent.dispatch()
InvocationEvent.java:154
void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent)
EventQueue.java:337
boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component)
EventDispatchThread.java:131
void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component)
EventDispatchThread.java:98
void java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional)
EventDispatchThread.java:93
void java.awt.EventDispatchThread.run()
EventDispatchThread.java:85
Thanks
What can I do to fix it?
RafaelBUMP
Just wanted to inform that I ran into the same problem. Derek's solution solved my problem. I noticed that before applying this fix my own palette.xml was 0 bytes in size.
Using JDev 9.0.3.3 on a W2K3 TS.
Maybe you are looking for
-
What are the assessment options in Captivate 8 for the following scenario:
I have one Captivate project with five modules, after each module I want to have mandatory questions (user need to answer to proceed and pass the course) and optional questions (user can skip, not included in the final score). I am using Oracle LMS.
-
I have downloaded the Silkypix developer studio software that came with my camera (Mac Version) BUT my main camera is the Nikon D7100 and am used to using Raw in Photoshop elements 11. Will there be a Raw update which includes Panasonic Lumix TZ60 o
-
I installed Ovia suite on my desktop PC and on my laptop. On my desktop it seems OK with buttons for music, pictures, setup tools,etc. On top, there is a button for my phone (5530), for uploading and foor search in the gallary . On the left is filter
-
2 hour update and wont let me log in into my ipod so it wont even work
-
Hi Everybody and thanks for your time. At home i have two internet connections, the first one is an airport extreme (802.11g), wich sends the signal to another airpot extreme also 802.11g, in a WDS network, the reason is that the 1st internet connect