In our transition to Java 7 we came across some functionality that doesn't seem to work as before. We are using a JideSplitButton shown on a JidePopup. Using Java 7 the menu items don't work anymore. Using Java 6 everything works as expected.
When running the following demo, using jdk1.7.0_45 on OSX, selecting a menu item does nothing. We are using Jide 3.5.12.
- Code: Select all
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JMenuItem;
import com.jidesoft.popup.JidePopup;
import com.jidesoft.swing.JideSplitButton;
public class JidePopupDemo extends JidePopup {
public JidePopupDemo() {
super();
JButton button = new JButton("Close");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
hidePopup();
}
});
button.setToolTipText("Button");
final JideSplitButton jsb = new JideSplitButton();
jsb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent e) {
System.out.println("Default option");
}
});
jsb.setText("Select option");
final JMenuItem item1 = new JMenuItem("Item1");
item1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent e) {
jsb.setText("Option 1");
System.out.println("1");
}
});
jsb.add(item1);
final JMenuItem item2 = new JMenuItem("Item2");
item2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent e) {
jsb.setText("Option 2");
System.out.println("2");
}
});
jsb.add(item2);
jsb.setPreferredSize(new Dimension(100, 20));
getContentPane().add(jsb, BorderLayout.CENTER);
getContentPane().add(button, BorderLayout.SOUTH);
packPopup();
}
public static void main(String[] args) {
JidePopupDemo jidePopupDemo = new JidePopupDemo();
jidePopupDemo.showPopup();
}
}
Is there some additional configuration needed when using Java 7? I haven't been able to test the behaviour on a Windows platform.
Kind regards,
Alexander