java - JSpinner's JButton to ImageIcon -


trying replace jbutton controller of jspinner imageicon instead. reason not listen mouseclicks(installbuttonlisteners() in basicspinnerui seems add mouselistener). ideas why , how fix?

public class spinnericonbtn extends jframe {      public spinnericonbtn(){         jspinner spinner = new jspinner();         spinner.setui(new jspinnerarrow());          this.add(spinner);         this.pack();         this.setvisible(true);     }      class jspinnerarrow extends basicspinnerui {          @override         protected component createnextbutton() {             component c = createarrowbutton(swingconstants.north);             c.setname("spinner.nextbutton");             installnextbuttonlisteners(c);             return c;         }          @override         protected component createpreviousbutton() {             component c = createarrowbutton(swingconstants.south);             c.setname("spinner.previousbutton");             installpreviousbuttonlisteners(c);             return c;         }          private component createarrowbutton(int direction) {             string path = "/users/tst.png";             jlabel icon = new jlabel(new imageicon(path));             return icon;         }     }      public static void main(string[] args) {         new spinnericonbtn();     } } 

  • do not change icon, use painticon()

  • change layoutmanager if arrowsbuttons moved of icons big

.

import javax.swing.*; import java.awt.event.*; import java.awt.*;  class testing {     //int counter = 0;//proper setting      int counter = 7195;//testing hours 'tick over' correctly     jspinner spinner = new jspinner();     jtextfield editor = ((jspinner.defaulteditor) spinner.geteditor()).gettextfield();     java.text.decimalformat df = new java.text.decimalformat("00");      public void buildgui() {         spinner.setui(new endlesshoursui());         jframe f = new jframe();         f.getcontentpane().add(spinner);         f.pack();         f.setlocationrelativeto(null);         f.setdefaultcloseoperation(jframe.exit_on_close);         f.setvisible(true);     }      class endlesshoursui extends javax.swing.plaf.basic.basicspinnerui {          public endlesshoursui() {             settime();         }          @override         protected void installnextbuttonlisteners(component c) {         }// nothing          @override         protected void installpreviousbuttonlisteners(component c) {         }// nothing          @override         protected component createnextbutton() {             jbutton btnnext = (jbutton) super.createnextbutton();             btnnext.addactionlistener(new actionlistener() {                  @override                 public void actionperformed(actionevent ae) {                     changespinner(1);                 }             });             return btnnext;         }          @override         protected component createpreviousbutton() {             jbutton btnprevious = (jbutton) super.createpreviousbutton();             btnprevious.addactionlistener(new actionlistener() {                  @override                 public void actionperformed(actionevent ae) {                     changespinner(-1);                 }             });             return btnprevious;         }     }      public void changespinner(int amount) {         if (counter > 0 || amount > 0) {             counter += amount;             settime();         }     }      public void settime() {         int hours = counter / 3600;         int mins = (counter / 60) % 60;         int secs = counter % 60;         string time = df.format(hours) + ":" + df.format(mins) + ":" + df.format(secs);         editor.settext(time);     }      public static void main(string[] args) {         swingutilities.invokelater(new runnable() {              @override             public void run() {                 new testing().buildgui();             }         });     } } 

Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -