java - JLabel-Array create on Button push -
java - JLabel-Array create on Button push -
i want create jlabel of array on button push. i've never done arrays, maybe it's sort of training. tried it, won't work. expected result: everytime force button, 1 of 20 jlabels created. here's class:
public class jlabelarray { static jframe frame; static jbutton button; public static void main(string[] args) { final jlabel[] label = new jlabel[20]; // button = new jbutton("push me"); button.setbounds(0, 0, 100, 30); button.addactionlistener(new actionlistener() { public void actionperformed(actionevent e) { // new jlabel should created (int = 0; < label.length; i++) { label[i] = new jlabel("label" + i); label[i].setbounds(button.getx(), button.gety()+ 10 + * 15, 50, 50); frame.add(label[i]); frame.revalidate(); frame.repaint(); } } }); // frame = new jframe(); frame.setsize(500, 500); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setlayout(null); frame.setvisible(true); frame.add(button); } }
edit: updated code edit2: updated for-loop edit3: reworked whole question
you should re-validate/repaint when add together components after parent container has been validated - includes not when add together jbutton (add prior setting jframe visible) when add together jlabels
frame.add(label[i]); frame.revalidate(); frame.repaint();
i recommend not using null layout, rather take appropriate layoutmanager: see https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html . if wish go on using null layout, should set added labels different positions or overlap each other.
java arrays swing jbutton jlabel
Comments
Post a Comment