salut
comment faire un jMenuItem manuellement car je veux que le nombre de jMenuItem ce génère selon un nombre fixé par l'utilisateur (variable) alors j'ai fait ça :
static JMenuItem []jMenuItem8; // déclaration
.
.
.
.
.
for (int i=0;i<Dialog1.nb_donné;i++)
{ jMenuItem8[i].addActionListener(new Frame1_jMenuItem8_actionAdapter(this,i));}
//selon le nb_donné je génère le jMenuItem8
.
.
.
.for (int i=0;i<Dialog1.nb_donné;i++)
{jMenu4.add(jMenuItem8[i]);} // j'ai associé jMenuItem8 au jMenu4
.
.
.
.
void jMenuItem8_actionPerformed(ActionEvent e,int y) {// le corps de ma fonction }
.
.
.
.
class Frame1_jMenuItem8_actionAdapter implements java.awt.event.ActionListener {
Frame1 adaptee;
int y;
Frame1_jMenuItem8_actionAdapter(Frame1 adaptee,int i) {
this.adaptee = adaptee;
this.y =i;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem8_actionPerformed(e,y);
}
}
.
.
.
.
class Frame1_jMenu4_actionAdapter implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_jMenu4_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenu4_actionPerformed(e);
}
}
A votre avis qu'est ce que j'ai oublié? Car en compilant une erreur est survenue
java.lang.NullPointerException
at gestion_de_coherence.Frame1_jMenuItem8_actionAdapter.actionPerformed(Frame1.java:1519)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
at java.awt.Component.processMouseEvent(Component.java:5134)
at java.awt.Component.processEvent(Component.java:4931)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3639)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3480)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
at java.awt.Container.dispatchEventImpl(Container.java:1609)
at java.awt.Window.dispatchEventImpl(Window.java:1590)
at java.awt.Component.dispatchEvent(Component.java:3480)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
merci pour votre aide