Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4413139

JTextField is raising java.nio.BufferOverflowException during cut operation.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 1.4.0
    • 1.4.0
    • core-libs
    • beta
    • x86
    • windows_nt
    • Verified

      java version "1.4.0-beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b46)
      Java HotSpot(TM) Client VM (build B45, mixed mode)

      Run the following program on Windows, I did it on Windows NT:

      1) Type something in the JTextField
      2) Select 1 character in the string that you've typed.
      3) Use "CTRL+X" or "CTRL+C" to access the clipboard.

      You'll see this exception thrown:

      java.nio.BufferOverflowException
              at java.nio.Buffer.nextPutIndex(Buffer.java:367)
              at java.nio.HeapByteBuffer.put(../../../build/win32/gensrc/java/nio/HeapByteBuffer.java:69)
              at sun.nio.cs.UnicodeEncoder.encodeStep(../../../src/share/classes/sun/nio/cs/UnicodeEncoder
      .java:64)
              at java.nio.CharsetEncoder.encode(../../../build/win32/gensrc/java/nio/CharsetEncoder.java:2
      88)
              at java.lang.StringCoding$CharsetSE.encode(../../../src/share/classes/java/lang/StringCoding
      .java:279)
              at java.lang.StringCoding.encode(../../../src/share/classes/java/lang/StringCoding.java:309)

              at java.lang.String.getBytes(../../../src/share/classes/java/lang/String.java:559)
              at sun.awt.datatransfer.DataTransferer.translateTransferable(DataTransferer.java:694)
              at sun.awt.windows.WClipboard.setContents(WClipboard.java:78)
              at javax.swing.TransferHandler.exportToClipboard(TransferHandler.java:166)
              at javax.swing.TransferHandler$TransferAction.actionPerformed(TransferHandler.java:720)
              at javax.swing.text.JTextComponent.cut(JTextComponent.java:1036)
              at javax.swing.text.DefaultEditorKit$CutAction.actionPerformed(DefaultEditorKit.java:1150)
              at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1496)
              at javax.swing.JComponent.processKeyBinding(JComponent.java:2296)
              at javax.swing.JComponent.processKeyBindings(JComponent.java:2331)
              at javax.swing.JComponent.processKeyEvent(JComponent.java:2249)
              at java.awt.Component.processEvent(Component.java:4700)
              at java.awt.Container.processEvent(Container.java:1299)
              at java.awt.Component.dispatchEventImpl(Component.java:3460)
              at java.awt.Container.dispatchEventImpl(Container.java:1361)
              at java.awt.Component.dispatchEvent(Component.java:3327)
              at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1510)
              at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:57
      6)
              at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java
      :693)
              at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java
      :631)
              at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:548)
              at java.awt.Component.dispatchEventImpl(Component.java:3351)
              at java.awt.Container.dispatchEventImpl(Container.java:1361)
              at java.awt.Window.dispatchEventImpl(Window.java:1338)
              at java.awt.Component.dispatchEvent(Component.java:3327)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:437)
              at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:140)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:126)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:121)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)


      ------------------------------------ Cut Here ------------------------------

      import javax.swing.*;

      public class SimpleTest extends JFrame {

          private JTextField textField;
          private JPanel panel;

          public static void main(String[] args) {
              new SimpleTest();
          }

          public SimpleTest() {
              textField = new JTextField(15);
              panel = new JPanel();

              panel.add(textField);

              setContentPane(panel);

              setSize(200, 200);
              show();
          }
      }

      ------------------------------------ Cut Here ------------------------------


      edmund.lou@eng 2001-02-07
      Swing Test Development
      ======================================

            elousunw Edmund Lou (Inactive)
            elousunw Edmund Lou (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: