Java | ActionListeners in two JButtons, no response -


i've been stuck @ couple of days (first time working multiple actionlistener, bear me).

i have 2 buttons, each actionlistener moving drawing either left or right.

yet either actionlisteners not seem work properly, or actionperformed not work.

suggestions appreciated, i've tried switching them action suggested elsewhere on forum, didn't work out either.

package h03verplaatsbarebal;  import javax.swing.*; import java.awt.*; import java.awt.event.*;  public class paneel extends jpanel implements actionlistener{  //declare objects private jbutton knoplinks; // moves ball left private jbutton knoprechts; // moves ball right  //constants private int horizontaleplaats; // variabele voor horizontale plaats private int verplaatsing; // constante voor verplaatsing  /*create panel 2 buttons (to left, right) , ball*/ public paneel() {     //create objects     knoplinks = new jbutton ("naar links");     knoplinks.addactionlistener(this);     knoprechts = new jbutton ("naar rechts");     knoprechts.addactionlistener(this);      //tooltips     knoplinks.settooltiptext("klik hier om de bal naar links te bewegen");     knoprechts.settooltiptext("klik hier om de bal naar rechts te bewegen");      //add window     add(knoplinks);     add(knoprechts); }  public void paintcomponent(graphics g){     super.paintcomponent(g);     int midden = getwidth() / 2; // halfway screen     int baldiameter = 50;     int ovaaldiameter = 25;     horizontaleplaats = midden;      //draw line     g.setcolor(color.green);     g.drawline(30, getheight() - 30, getwidth() -30, getheight() - 30); //lijn     //draw ball     g.setcolor(color.orange);     g.filloval(horizontaleplaats - baldiameter, getheight() - 130, 100, 100); // oranje bal     g.setcolor(color.black);     g.drawoval(horizontaleplaats - baldiameter, getheight() - 130, 100, 100); //lijn van bal     g.setcolor(color.black);     g.drawoval(horizontaleplaats - ovaaldiameter, getheight() - 130, 50, 100); // binnen lijnen }  /*clicking buttons*/ public void actionperformed(actionevent e) {     verplaatsing = 15;       if (e.getsource() == knoplinks){ //move left           horizontaleplaats = horizontaleplaats - verplaatsing;       }        else { //move right           horizontaleplaats = horizontaleplaats + verplaatsing;       }      repaint(); // paint again } } 

your action listener should work, modifying value of horizontaleplaats .

the problem horizontaleplaats gets overwritten value of midden in paintcomponent, never see result of performed actions.

horizontaleplaats = midden; 

Comments