良い方法で同時に多くのポップアップ メニューを表示する方法を教えJPopupMenu
て@Override
show(Component invoker, int x, int y)
くださいsetInvoker(invoker);
。これに関する問題は、ポップアップを削除することができないことです。
質問:JPopupMenu
より多くの s が表示されているときに s を引き続き表示する方法JPopupMenu
はありますか?
public class MultiPopupMenu {
public static void main(String[] args){
// Create popup
JPopupMenu menu1 = createPopupMenu("First label");
JPopupMenu menu2 = createPopupMenu("Second label");
// Create labels
JLabel label1 = new JLabel("abcde");
JLabel label2 = new JLabel("1234");
JPanel panel = new JPanel();
panel.add(label1);
panel.add(label2);
// Add labels
JFrame frame = new JFrame();
frame.add(panel);
frame.setPreferredSize(new Dimension(200,100));
frame.pack();
frame.setVisible(true);
// Show popups
menu1.show(label1,-40,20); // Not showing
menu2.show(label2, 0,20);
}
private static JPopupMenu createPopupMenu(String label){
JPopupMenu popup = new JPopupMenu();
JLabel lblTest = new JLabel(label);
popup.add(lblTest);
popup.setBackground(Color.YELLOW);
return popup;
}
}