R
Rene Grothmann
Does anybody know how to resolve the following Linux problem? I am
unable to get events from a checkbox item in a popup menu under Linux.
The problem seems to be unknown to other Java versions. Of course,
using JFC would resolve the problem, but I want to stay with AWT for
some reasons.
Thanks a lot foa any constructive answers.
---------------------------------
import java.awt.*;
import java.awt.event.*;
public class PopupTest extends Frame
implements ActionListener, ItemListener
{ PopupMenu PM;
public PopupTest ()
{ super("Popup Test");
setSize(500,500);
setLocation(200,200);
addWindowListener(new WindowAdapter ()
{ public void windowClosing (WindowEvent e)
{ System.exit(0);
}
});
addMouseListener(new MouseAdapter ()
{ public void mouseClicked (MouseEvent e)
{ clicked(e);
}
});
PM=new PopupMenu();
MenuItem item1=new MenuItem("Item 1");
PM.add(item1);
item1.addActionListener(this);
// buggy code?
CheckboxMenuItem item2=new CheckboxMenuItem("Item 2");
PM.add(item2);
item2.addItemListener(this);
item2.addActionListener(this);
add(PM);
}
public void clicked (MouseEvent e)
{ PM.show(this,e.getX(),e.getY());
}
public static void main (String args[])
{ Frame f=new PopupTest();
f.setVisible(true);
}
public void actionPerformed (ActionEvent e)
{ System.out.println(e);
}
public void itemStateChanged (ItemEvent e)
{ System.out.println(e);
}
}
unable to get events from a checkbox item in a popup menu under Linux.
The problem seems to be unknown to other Java versions. Of course,
using JFC would resolve the problem, but I want to stay with AWT for
some reasons.
Thanks a lot foa any constructive answers.
---------------------------------
import java.awt.*;
import java.awt.event.*;
public class PopupTest extends Frame
implements ActionListener, ItemListener
{ PopupMenu PM;
public PopupTest ()
{ super("Popup Test");
setSize(500,500);
setLocation(200,200);
addWindowListener(new WindowAdapter ()
{ public void windowClosing (WindowEvent e)
{ System.exit(0);
}
});
addMouseListener(new MouseAdapter ()
{ public void mouseClicked (MouseEvent e)
{ clicked(e);
}
});
PM=new PopupMenu();
MenuItem item1=new MenuItem("Item 1");
PM.add(item1);
item1.addActionListener(this);
// buggy code?
CheckboxMenuItem item2=new CheckboxMenuItem("Item 2");
PM.add(item2);
item2.addItemListener(this);
item2.addActionListener(this);
add(PM);
}
public void clicked (MouseEvent e)
{ PM.show(this,e.getX(),e.getY());
}
public static void main (String args[])
{ Frame f=new PopupTest();
f.setVisible(true);
}
public void actionPerformed (ActionEvent e)
{ System.out.println(e);
}
public void itemStateChanged (ItemEvent e)
{ System.out.println(e);
}
}