Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.gui > #1896

JXTable packColumns JRE1.

From "Timasmith" <timasmith@THRWHITE.remove-dii-this>
Subject JXTable packColumns JRE1.
Message-ID <1182858814.946962.181810@g4g2000hsf.googlegroups.com> (permalink)
Newsgroups comp.lang.java.gui
Date 2011-04-27 15:35 +0000
Organization TDS.net

Show all headers | View raw


  To: comp.lang.java.gui
Hi,

I am using Java 1.6 and executed the JXTables packColumns only to find
that the UI is hanging.  I use JGoodies so not sure if that is related
but how can I troubleshoot this?  If I run in debug and get the
stacktrace this is what I find - UIDefaults hung after issuing a
'wait' command

Thread [AWT-EventQueue-0] (Suspended)
	Object.wait(long) line: not available [native method]
	UIDefaults(Object).wait() line: 485 [local variables unavailable]
	UIDefaults.getFromHashtable(Object) line: 174
	UIDefaults.get(Object) line: 144
	MyTable(JTable).getDefaultRenderer(Class<?>) line: 1252
	MyTable(JTable).getCellRenderer(int, int) line: 5620
	BasicTableUI.paintCell(Graphics, Rectangle, int, int) line: 2066
	BasicTableUI.paintCells(Graphics, int, int, int, int) line: 1969
	BasicTableUI.paint(Graphics, JComponent) line: 1765
	BasicTableUI(ComponentUI).update(Graphics, JComponent) line: 143
	MyTable(JComponent).paintComponent(Graphics) line: 758
	MyTable(JComponent).paint(Graphics) line: 1022
	JViewport(JComponent).paintChildren(Graphics) line: 859
	JViewport(JComponent).paint(Graphics) line: 1031
	JViewport.paint(Graphics) line: 747
	MyScrollPane(JComponent).paintChildren(Graphics) line: 859
	MyScrollPane(JComponent).paint(Graphics) line: 1031
	MyPanel(JComponent).paintChildren(Graphics) line: 859
	MyPanel(JComponent).paint(Graphics) line: 1031
	MySplitPane(JComponent).paintChildren(Graphics) line: 859
	MySplitPane(JSplitPane).paintChildren(Graphics) line: 1026
	MySplitPane(JComponent).paint(Graphics) line: 1031
	MySplitPane(JComponent).paintChildren(Graphics) line: 859
	MySplitPane(JSplitPane).paintChildren(Graphics) line: 1026
	MySplitPane(JComponent).paint(Graphics) line: 1031
	JPanel(JComponent).paintChildren(Graphics) line: 859
	JPanel(JComponent).paint(Graphics) line: 1031
	JLayeredPane(JComponent).paintChildren(Graphics) line: 859
	JLayeredPane(JComponent).paint(Graphics) line: 1031
	JLayeredPane.paint(Graphics) line: 564
	JRootPane(JComponent).paintChildren(Graphics) line: 859
	JRootPane(JComponent).paint(Graphics) line: 1031
	JRootPane(JComponent).paintToOffscreen(Graphics, int, int, int, int,
int, int) line: 5104
	BufferStrategyPaintManager.paint(JComponent, JComponent, Graphics,
int, int, int, int) line: 285
	RepaintManager.paint(JComponent, JComponent, Graphics, int, int, int,
int) line: 1128
	MyTable(JComponent)._paintImmediately(int, int, int, int) line: 5052
	MyTable(JComponent).paintImmediately(int, int, int, int) line: 4862
	RepaintManager.paintDirtyRegions(Map<Component,Rectangle>) line: 723
	RepaintManager.paintDirtyRegions() line: 679
	RepaintManager.seqPaintDirtyRegions() line: 659
	SystemEventQueueUtilities$ComponentWorkRequest.run() line: 128
	InvocationEvent.dispatch() line: 209
	EventQueue.dispatchEvent(AWTEvent) line: 597
	EventDispatchThread.pumpOneEventForFilters(int) line: 273
	EventDispatchThread.pumpEventsForFilter(int, Conditional,
EventFilter) line: 183
	EventDispatchThread.pumpEventsForHierarchy(int, Conditional,
Component) line: 173
	EventDispatchThread.pumpEvents(int, Conditional) line: 168
	EventDispatchThread.pumpEvents(Conditional) line: 160
	EventDispatchThread.run() line: 121


In javax.swing.UIDefaults this is the code:

        /* If the LazyValue for key is being constructed by another
         * thread then wait and then return the new value, otherwise
drop
         * the lock and construct the ActiveValue or the LazyValue.
         * We use the special value PENDING to mark LazyValues that
         * are being constructed.
         */
        synchronized(this) {
            value = super.get(key);
            if (value == PENDING) {
                do {
                    try {
                        this.wait();                  <<<<<<<=====
Hung here
                    }
                    catch (InterruptedException e) {
                    }
                    value = super.get(key);
                }
                while(value == PENDING);
                return value;
            }
            else if (value instanceof LazyValue) {
                super.put(key, PENDING);
            }
            else if (!(value instanceof ActiveValue)) {
                return value;
            }
        }

---
 * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24

Back to comp.lang.java.gui | Previous | Next | Find similar | Unroll thread


Thread

JXTable packColumns JRE1. "Timasmith" <timasmith@THRWHITE.remove-dii-this> - 2011-04-27 15:35 +0000

csiph-web