-
Bug
-
Resolution: Fixed
-
P4
-
1.1.5, 1.1.6, 1.2.0
-
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");
}
}
}
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");
}
}
}
- duplicates
-
JDK-4108880 JTable + JPopupMenu problem
-
- Closed
-
-
JDK-4106325 JPopupMenu doesn't intercept events over JList
-
- Closed
-
-
JDK-4181496 Mouse events to JPopupMenu are passed to underlaying components
-
- Closed
-