-
Bug
-
Resolution: Duplicate
-
P1
-
None
-
5.0
-
x86
-
linux
FULL PRODUCT VERSION :
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Linux btu5h 2.4.20-31.9 #1 Tue Apr 13 17:38:16 EDT 2004 i686 athlon i386 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
When I use Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener
I will get a stack trace whenever I do a Drag and Drop operation that involves a move. This is true of *any* component using TransferHandler.
If I do not have Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener in
my program, all works just fine.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the sample program I give later in this report.
Attempt to drag and drop between the two text fields.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Drag and Drop works fine.
ACTUAL -
Strack trace (although Dnd seems to have worked)
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception on Toolkit thread: java.lang.NullPointerException
java.lang.NullPointerException
at sun.awt.X11.XSelection.checkChange(XSelection.java:701)
at sun.awt.X11.XSelection.access$200(XSelection.java:28)
at sun.awt.X11.XSelection$SelectionEventHandler.dispatchEvent(XSelection.java:710)
at sun.awt.X11.XToolkit.dispatchEvent(XToolkit.java:408)
at sun.awt.X11.XToolkit.run(XToolkit.java:493)
at sun.awt.X11.XToolkit.run(XToolkit.java:438)
at java.lang.Thread.run(Thread.java:595)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import javax.swing.* ;
import java.awt.* ;
import java.awt.datatransfer.* ;
public class test extends JFrame {
public test() {
getContentPane().setLayout(new FlowLayout()) ;
JTextField jt1 = new JTextField("abc",20) ;
jt1.setDragEnabled(true) ;
JTextField jt2 = new JTextField("def",20) ;
jt2.setDragEnabled(true) ;
add(jt1) ;
add(jt2) ;
}
public static void main(String args[]) {
Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener(new FlavorListener() {
public void flavorsChanged(FlavorEvent e) {
}
}) ;
test t = new test() ;
t.pack() ;
t.setVisible(true) ;
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Don't use Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener
###@###.### 10/21/04 22:07 GMT
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Linux btu5h 2.4.20-31.9 #1 Tue Apr 13 17:38:16 EDT 2004 i686 athlon i386 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
When I use Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener
I will get a stack trace whenever I do a Drag and Drop operation that involves a move. This is true of *any* component using TransferHandler.
If I do not have Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener in
my program, all works just fine.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the sample program I give later in this report.
Attempt to drag and drop between the two text fields.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Drag and Drop works fine.
ACTUAL -
Strack trace (although Dnd seems to have worked)
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception on Toolkit thread: java.lang.NullPointerException
java.lang.NullPointerException
at sun.awt.X11.XSelection.checkChange(XSelection.java:701)
at sun.awt.X11.XSelection.access$200(XSelection.java:28)
at sun.awt.X11.XSelection$SelectionEventHandler.dispatchEvent(XSelection.java:710)
at sun.awt.X11.XToolkit.dispatchEvent(XToolkit.java:408)
at sun.awt.X11.XToolkit.run(XToolkit.java:493)
at sun.awt.X11.XToolkit.run(XToolkit.java:438)
at java.lang.Thread.run(Thread.java:595)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import javax.swing.* ;
import java.awt.* ;
import java.awt.datatransfer.* ;
public class test extends JFrame {
public test() {
getContentPane().setLayout(new FlowLayout()) ;
JTextField jt1 = new JTextField("abc",20) ;
jt1.setDragEnabled(true) ;
JTextField jt2 = new JTextField("def",20) ;
jt2.setDragEnabled(true) ;
add(jt1) ;
add(jt2) ;
}
public static void main(String args[]) {
Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener(new FlavorListener() {
public void flavorsChanged(FlavorEvent e) {
}
}) ;
test t = new test() ;
t.pack() ;
t.setVisible(true) ;
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Don't use Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener
###@###.### 10/21/04 22:07 GMT
- duplicates
-
JDK-6511815 NPE from XSelection.checkChange
-
- Closed
-