swing - Java GUI not loading in -


so i'm creating type of trump game university project running difficulty when i'm trying load in interface. frame loads different colors (which used test background) none of buttons nor progress bars loading in. still new java have missed something. appreciated.

package game;  import java.awt.color; import java.awt.gridlayout; import java.util.timer; import java.util.timertask;  import javax.swing.*;  public class gameinterface extends jframe{  private jframe mainwindow; private jpanel middlepanel, bottompanel, allpanels; private jbutton generatecrimebtn, disguisebtn, sleepbtn; private jprogressbar energybar, statusbar, actionbar; private int interval; private timer timer; private jlabel timerbarlabel, questionlabel;  public gameinterface(){         middlepanel = new jpanel();         middlepanel.setbackground(color.gray);         bottompanel = new jpanel();         allpanels = new jpanel();          allpanels.setlayout(new boxlayout(allpanels, boxlayout.y_axis));         allpanels.add(middlepanel);         allpanels.add(bottompanel);          mainwindow = new jframe();         mainwindow.settitle("game");         mainwindow.setsize(1920,1080);         mainwindow.setdefaultcloseoperation(jframe.exit_on_close);         mainwindow.setvisible(true);         mainwindow.add(allpanels);          middlepanel.setborder(borderfactory.createemptyborder(10,10,10,10));         middlepanel.setlayout(new gridlayout(0,2,10,10));         middlepanel.add(generatecrimebtn);         middlepanel.add(disguisebtn);         middlepanel.add(sleepbtn);          generatecrimebtn = new jbutton("generate crime");         disguisebtn = new jbutton("disguise");         sleepbtn = new jbutton("sleep");          bottompanel.add(energybar);         bottompanel.add(timerbarlabel);         bottompanel.setborder(borderfactory.createemptyborder(10,10,10,10));         bottompanel.setlayout(new gridlayout(0,2));          timerbarlabel = new jlabel("timer left answer question; ");         timerbarlabel.setforeground(color.darkgray);         timerbarlabel.setbounds(10,10,50,30);         energybar.setbounds(60,10,200,30);         energybar = new jprogressbar(0, 100); }  public jbutton getgeneratecrimebtn() {         return generatecrimebtn; }  public jbutton getdisguisebtn() {         return disguisebtn; }  public jbutton getsleepbtn() {         return sleepbtn; }  public jpanel getpanels() {         return allpanels; }  public timer gettimer(){         return timer; }  public void cancelinterval(){         interval = -1; }  public void resettimer(){     int delay = 100;     int period = 100;     interval = 100;     energybar.setvalue(100);     energybar.repaint();     timer = new timer();     timer.scheduleatfixedrate(new timertask(){             public void run(){                     setinterval();             }     }, delay, period); }  private void setinterval() {     if (interval > 0) {             interval--;             energybar.setvalue(interval);             energybar.repaint();     }else if (interval == 0){             timer.cancel();             joptionpane.showmessagedialog(allpanels, "you have failed...");     } } } 

mainwindow.setvisible(true); 

this should last statement in constructor, after components have been added frame.

edit:

    generatecrimebtn = new jbutton("generate crime");     disguisebtn = new jbutton("disguise");     sleepbtn = new jbutton("sleep");      middlepanel.add(generatecrimebtn);     middlepanel.add(disguisebtn);     middlepanel.add(sleepbtn);      //generatecrimebtn = new jbutton("generate crime");     //disguisebtn = new jbutton("disguise");     //sleepbtn = new jbutton("sleep"); 

you need create component before adding panel otherwise variable null, nothing gets added panel.

same comment components added bottom panel.


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -