gpt4 book ai didi

java - jpopupmenu menuitem actionperformed 未触发

转载 作者:行者123 更新时间:2023-12-02 10:11:45 24 4
gpt4 key购买 nike

弹出菜单和菜单项显示正常,但我不知道为什么当我单击菜单项时,没有任何反应,甚至没有一个简单的 println。我错过了什么?

这是我的代码:

private void jLabel33MouseReleased(java.awt.event.MouseEvent evt) {                                       
Component source = (Component) evt.getSource();
Component panelSource = source.getParent().getParent().getParent().getParent().getParent();
if (SwingUtilities.isRightMouseButton(evt)){

ModelLigneModifier ligne = (ModelLigneModifier) SwingUtilities.getAncestorOfClass(ModelLigneModifier.class, (Component) evt.getSource());
ligne.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(255, 0, 0), 4));
JPopupMenu menu = new JPopupMenu();
JMenuItem modifier = new JMenuItem("Modifier le prix");
modifier.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Controleur.supprimerLigne(panelSource, ligneCompte);
System.out.println("modifier");
}
});
JMenuItem supprimer = new JMenuItem("Supprimer la ligne");
supprimer.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Controleur.modifierLigne(panelSource, ligneCompte);
System.out.println("modifier");
}
});
menu.add(new JMenuItem("Modifier le prix"));
menu.add(new JMenuItem("Supprimer la ligne"));
//ligne.setComponentPopupMenu(menu);
menu.show(ligne, evt.getX(), evt.getY());

}
else{
Controleur.ajouterLigneCompte(panelSource);
}

}

最佳答案

When I click on the menuitem, nothing happen, not even a simple println.

您创建一个 JMenuItem 并向其添加一个 ActionListener,这是正确的:

JMenuItem modifier = new JMenuItem("Modifier le prix");
modifier.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Controleur.supprimerLigne(panelSource, ligneCompte);
System.out.println("modifier");
}
});

但是随后您将一个没有 ActionListener 的新菜单项添加到弹出菜单中,这是不正确的:

menu.add(new JMenuItem("Modifier le prix"));

代码应该是:

//menu.add(new JMenuItem("Modifier le prix"));
menu.add( modifier );

关于java - jpopupmenu menuitem actionperformed 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54956098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com