swing - Java GUI not appearing after implementing socket methods -


i no errors in code. code works fine long code within start method, created, commented out. unsure why happening. have tried moving code around not solve issue. why code within start method preventing gui showing on screen?

package my.ipmessenger; import java.io.bufferedreader; import java.io.dataoutputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.math.biginteger; import java.net.inetaddress; import java.net.serversocket; import java.net.socket; import java.net.unknownhostexception; import java.util.logging.level; import java.util.logging.logger; import javax.swing.joptionpane; /**  *  *   */ public class ipmessengergui extends javax.swing.jframe {     static serversocket sc;     static socket socket;     static bufferedreader in;     static dataoutputstream out;     static char[] c;     static string text;     static string ip;     static socket sock2;     static bufferedreader in2;     static dataoutputstream out2;     static inetaddress address;      /**      * creates new form ipmessengergui      */     public ipmessengergui() throws ioexception {         start();         initcomponents();         jtextarea1.setlinewrap(true);         jtextarea2.setlinewrap(true); //        sc = new serversocket(6850); //  socket = sc.accept(); //  socket.setkeepalive(true); //  in = new bufferedreader(new inputstreamreader(socket.getinputstream())); //  out = new dataoutputstream(socket.getoutputstream()); //  c = new char[1000]; //        in2 = new bufferedreader(new inputstreamreader(sock2.getinputstream())); //        out2 = new dataoutputstream(sock2.getoutputstream()); //        search();     }     private void start() throws ioexception{         sc = new serversocket(6850);     socket = sc.accept();     socket.setkeepalive(true);     in = new bufferedreader(new inputstreamreader(socket.getinputstream()));     out = new dataoutputstream(socket.getoutputstream());     c = new char[1000];         in2 = new bufferedreader(new inputstreamreader(sock2.getinputstream()));         out2 = new dataoutputstream(sock2.getoutputstream());         search();        }       @suppresswarnings("unchecked")     // <editor-fold defaultstate="collapsed" desc="generated code">                               private void initcomponents() {          jscrollpane2 = new javax.swing.jscrollpane();         jscrollpane1 = new javax.swing.jscrollpane();         jtextarea1 = new javax.swing.jtextarea();         jscrollpane3 = new javax.swing.jscrollpane();         jtextarea2 = new javax.swing.jtextarea();         jlabel1 = new javax.swing.jlabel();         jbutton1 = new javax.swing.jbutton();         jbutton2 = new javax.swing.jbutton();         jmenubar1 = new javax.swing.jmenubar();         jmenu1 = new javax.swing.jmenu();         jmenu2 = new javax.swing.jmenu();          setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close);          jtextarea1.setcolumns(20);         jtextarea1.setrows(5);         jscrollpane1.setviewportview(jtextarea1);          jscrollpane2.setviewportview(jscrollpane1);          jtextarea2.setcolumns(20);         jtextarea2.setrows(5);         jscrollpane3.setviewportview(jtextarea2);          jlabel1.settext("jlabel1");          jbutton1.settext("jbutton1");         jbutton1.addactionlistener(new java.awt.event.actionlistener() {             public void actionperformed(java.awt.event.actionevent evt) {                 jbutton1actionperformed(evt);             }         });          jbutton2.settext("jbutton2");         jbutton2.addactionlistener(new java.awt.event.actionlistener() {             public void actionperformed(java.awt.event.actionevent evt) {                 jbutton2actionperformed(evt);             }         });          jmenu1.settext("file");         jmenubar1.add(jmenu1);          jmenu2.settext("edit");         jmenubar1.add(jmenu2);          setjmenubar(jmenubar1);          javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane());         getcontentpane().setlayout(layout);         layout.sethorizontalgroup(             layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addgroup(layout.createsequentialgroup()                 .addgap(91, 91, 91)                 .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading, false)                     .addcomponent(jscrollpane2, javax.swing.grouplayout.default_size, 250, short.max_value)                     .addcomponent(jscrollpane3))                 .addpreferredgap(javax.swing.layoutstyle.componentplacement.related)                 .addcomponent(jbutton1)                 .addcontainergap(97, short.max_value))             .addgroup(layout.createsequentialgroup()                 .addcomponent(jlabel1, javax.swing.grouplayout.preferred_size, 53, javax.swing.grouplayout.preferred_size)                 .addpreferredgap(javax.swing.layoutstyle.componentplacement.related, javax.swing.grouplayout.default_size, short.max_value)                 .addcomponent(jbutton2))         );         layout.setverticalgroup(             layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup()                 .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)                     .addcomponent(jlabel1)                     .addcomponent(jbutton2))                 .addpreferredgap(javax.swing.layoutstyle.componentplacement.related, 38, short.max_value)                 .addcomponent(jscrollpane3, javax.swing.grouplayout.preferred_size, 100, javax.swing.grouplayout.preferred_size)                 .addgap(18, 18, 18)                 .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)                     .addcomponent(jscrollpane2, javax.swing.grouplayout.preferred_size, 100, javax.swing.grouplayout.preferred_size)                     .addcomponent(jbutton1)))         );          pack();     }// </editor-fold>                              private void search() throws ioexception{          while(true){             if(in.ready()){                 in.read(c);              for(int count = 0; count < c.length ; count++){                 text += c[count];               }               jtextarea2.append(text);             }         }     }      private void jbutton1actionperformed(java.awt.event.actionevent evt) {                                                  jtextarea2.append(" " + jtextarea1.gettext());          try {              out.writechars(jtextarea1.gettext());         } catch (nullpointerexception|ioexception ex) {          }         jtextarea1.settext(null);     }                                              private void jbutton2actionperformed(java.awt.event.actionevent evt) {                                                  string ip =( joptionpane.showinputdialog(null, "please enter valid ip address:"));         int convert = integer.parseint(ip);         byte[] bytes = biginteger.valueof(convert).tobytearray();         try {              address = inetaddress.getbyaddress(bytes);         } catch (unknownhostexception ex) {             logger.getlogger(ipmessengergui.class.getname()).log(level.severe, null, ex);         }         try {             sock2 = new socket(address,6850);             sock2.setkeepalive(true);         } catch (ioexception ex) {             logger.getlogger(ipmessengergui.class.getname()).log(level.severe, null, ex);         }     }                                              /**      * @param args command line arguments      */     public static void main(string args[]) throws ioexception {         /* set nimbus , feel */         //<editor-fold defaultstate="collapsed" desc=" , feel setting code (optional) ">         /* if nimbus (introduced in java se 6) not available, stay default , feel.          * details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html           */         try {             (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) {                 if ("nimbus".equals(info.getname())) {                     javax.swing.uimanager.setlookandfeel(info.getclassname());                     break;                 }             }         } catch (classnotfoundexception ex) {             java.util.logging.logger.getlogger(ipmessengergui.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (instantiationexception ex) {             java.util.logging.logger.getlogger(ipmessengergui.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (illegalaccessexception ex) {             java.util.logging.logger.getlogger(ipmessengergui.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (javax.swing.unsupportedlookandfeelexception ex) {             java.util.logging.logger.getlogger(ipmessengergui.class.getname()).log(java.util.logging.level.severe, null, ex);         }         //</editor-fold>          /* create , display form */          java.awt.eventqueue.invokelater(new runnable() {             public void run() {                  try {                      new ipmessengergui().setvisible(true);                  } catch (ioexception ex) {                     logger.getlogger(ipmessengergui.class.getname()).log(level.severe, null, ex);                 }              }          });      }      // variables declaration - not modify                          private javax.swing.jbutton jbutton1;     private javax.swing.jbutton jbutton2;     private javax.swing.jlabel jlabel1;     private javax.swing.jmenu jmenu1;     private javax.swing.jmenu jmenu2;     private javax.swing.jmenubar jmenubar1;     private javax.swing.jscrollpane jscrollpane1;     private javax.swing.jscrollpane jscrollpane2;     private javax.swing.jscrollpane jscrollpane3;     private javax.swing.jtextarea jtextarea1;     private javax.swing.jtextarea jtextarea2;     // end of variables declaration                    } 

it looks me never getting gui portion of code. may want use multi-threading here, seem aiming for. in constructor, calling start method--all fine , far--and seems execute expect it. however, when call search() @ end of start(), enters infinite loop (the parameter being true). loop logic preventing return search(), thereby return start(), , constructor. hope helps, , best of luck you!


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -