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

JTable and JList overeager on drag listening for selection

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 1.2.2
    • 1.1.5, 1.1.6, 1.2.0
    • client-libs
    • None
    • 1.2.2
    • generic, x86, sparc
    • generic, solaris_2.5.1, solaris_2.6, solaris_9, windows_95

      Date: Tue, 17 Mar 1998 09:31:37 +1100
      From: "Grant Sayer" <###@###.###>
      Subject: RE: Menus and Events to underlying components
      To: "'Georges Saab'" <Georges.Saab@Eng>

      Hi georges,

      I've still got the problem with the menu and event being detected by
      underlying components.

      A test code is as follows. There are two classes - sorry for the messy
      email. Just off
      to a meeting

      Please let me know what you find

      Grant


      /**
       * Test implementation for the testing of bugs
       **/


      import java.awt.*;
      import java.awt.event.*;
      import java.io.*;
      import java.net.URL;
      import java.util.*;

      import com.sun.java.swing.*;
      import com.sun.java.swing.event.*;
      import com.sun.java.swing.table.*;

      import COM.ceedata.awt.*;
      import COM.ceedata.entities.*;
      import COM.ceedata.entitybinder.*;
      import COM.ceedata.jfc.*;


      public class TestApp extends JPanel {
          public static int INITIAL_WIDTH = 600;
          public static int INITIAL_HEIGHT = 400;
      private static TestTable tTable = null;

      /**
      * Construct the application
      **/
          public TestApp(){
      super(true);
      setDoubleBuffered(true) ;
      setLayout(new BorderLayout());

      JTabbedPane tabbedPane = new JTabbedPane();


      // swing component panel with list box
      tabbedPane.addTab("Swing", new TestJFCComponent());
      add(tabbedPane);
          }

      /**
      * WindowHandler handles the closing of a window.
      *
      **/
      protected static final class WindowHandler extends WindowAdapter
      {
           public void windowClosing(WindowEvent e) {
      System.exit(0);
      }
      }


      // Create a test menu bar
      private static JMenuBar createMenuBar(){
      JMenuBar menuBar = new JMenuBar();
      JMenuItem mi;

      JMenu file = (JMenu) menuBar.add(new JMenu("File"));
      mi = (JMenuItem) file.add(new JMenuItem("New"));
      mi.setMnemonic('O');
      mi.setEnabled(true);
      mi = (JMenuItem) file.add(new JMenuItem("Save"));
      mi.setMnemonic('S');
      mi.setEnabled(true);
      mi = (JMenuItem) file.add(new JMenuItem("Save As..."));
      mi.setMnemonic('A');
      mi.setEnabled(true);
      file.add(new JSeparator());
      mi = (JMenuItem) file.add(new JMenuItem("Exit"));
      mi.setMnemonic('x');
      mi = (JMenuItem) file.add(new JMenuItem("Open"));
      mi.setMnemonic('O');
      mi.setEnabled(true);
      mi = (JMenuItem) file.add(new JMenuItem("Save"));
      mi.setMnemonic('S');
      mi.setEnabled(true);
      mi = (JMenuItem) file.add(new JMenuItem("Save As..."));
      mi.setMnemonic('A');
      mi.setEnabled(true);
      file.add(new JSeparator());
      mi = (JMenuItem) file.add(new JMenuItem("Exit"));
      mi.setMnemonic('x');
      mi = (JMenuItem) file.add(new JMenuItem("Open"));
      mi.setMnemonic('O');
      mi.setEnabled(true);
      mi = (JMenuItem) file.add(new JMenuItem("Save"));
      mi.setMnemonic('S');
      mi.setEnabled(true);
      mi = (JMenuItem) file.add(new JMenuItem("Save As..."));
      mi.setMnemonic('A');
      mi.setEnabled(true);
      file.add(new JSeparator());
      mi = (JMenuItem) file.add(new JMenuItem("Exit"));
      mi.setMnemonic('x');
      mi = (JMenuItem) file.add(new JMenuItem("Open"));
      mi.setMnemonic('O');
      mi.setEnabled(true);
      mi = (JMenuItem) file.add(new JMenuItem("Save"));
      mi.setMnemonic('S');
      mi.setEnabled(true);
      mi = (JMenuItem) file.add(new JMenuItem("Save As..."));
      mi.setMnemonic('A');
      mi.setEnabled(true);
      file.add(new JSeparator());
      mi = (JMenuItem) file.add(new JMenuItem("Exit"));
      mi.setMnemonic('x');

      mi.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
      System.exit(0);
      }
      });

      JMenu edit = (JMenu)menuBar.add(new JMenu("Edit"));
      mi = (JMenuItem)edit.add(new JMenuItem("Add Header
      Button"));
      mi.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e){
      tTable.addHeaderButton();
      }
      });

      JMenu item = (JMenu)menuBar.add(new JMenu("Item"));
      JMenu view = (JMenu)menuBar.add(new JMenu("View"));
      JMenu help = (JMenu)menuBar.add(new JMenu("Help"));

      return menuBar;
      }

      // create a toolbar
      private static JToolBar createToolBar(){

      JToolBar toolBar = new JToolBar();

      // add in to it some images
      addTool(toolBar, "new");
      addTool(toolBar, "open");
      addTool(toolBar, "save");
      toolBar.addSeparator();
      addTool(toolBar, "cut");
      addTool(toolBar, "copy");
      addTool(toolBar, "paste");

      return toolBar;
      }


      // create a tool with a gif image for the button
          public static void addTool(JToolBar toolBar, String name) {
      JButton b = (JButton) toolBar.add(
      new JButton(new
      ImageIcon("images/"+name+".gif", name)));
      b.setToolTipText(name);
      b.setMargin(new Insets(0,0,0,0));
          }

      // the main one
          public static void main(String[] args){


              JFrame frame = new JFrame("Test Application");
      frame.addWindowListener(new WindowHandler());
      // closer on the app
              
      frame.setForeground(Color.black);
      frame.setBackground(Color.lightGray);
      frame.getContentPane().setLayout(new BorderLayout());
      frame.getContentPane().add("North", createMenuBar());

              frame.getContentPane().add(new TestApp());
      frame.setSize(INITIAL_WIDTH, INITIAL_HEIGHT);
      Dimension screenSize =
      Toolkit.getDefaultToolkit().getScreenSize();
      frame.setLocation(screenSize.width/2 - INITIAL_WIDTH/2,
      screenSize.height/2 - INITIAL_HEIGHT/2);
      frame.show();
          }
      }


      // ======================< cut for other file >=======================
      import java.awt.*;
      import java.awt.event.*;
      import java.io.*;
      import java.net.URL;
      import java.util.*;

      import com.sun.java.swing.*;
      import com.sun.java.swing.event.*;
      import com.sun.java.swing.table.*;

      public class TestJFCComponent extends JPanel {

      public TestJFCComponent() {
      super();
      setLayout(new GridLayout(3,1));

      JButton button = new JButton("Button1");
      JButton button2 = new JButton("Button2");
      button.addMouseListener(new MouseAdapter() {
      public void mouseClicked(MouseEvent m){
      System.err.println("MouseEvent = " + m);
      }
      });
      button2.addMouseListener(new MouseAdapter() {
      public void mouseClicked(MouseEvent m){
      System.err.println("MouseEvent = " + m);
      }
      });
      addCombo();
      add(button);
      add(button2);
      }

      private void addCombo(){
      JComboBox box = new JComboBox();

      box.addItem("one");
      box.addItem("two");
      box.addItem("three");
      box.addItem("four");
      box.addItem("five");
      box.addItem("six");
      box.addItem("seven");
      box.addItem("eight");
      box.addItem("nine");

      box.setEditable(true);

      add(box);
      }

      public class MySelListener implements ListSelectionListener{
      public void valueChanged(ListSelectionEvent event){
      System.err.println("Sel Change");
      }
      }
      }


            gsaab Georges Saab
            gsaab Georges Saab
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: