java - Insert BufferedReader into JTextArea -
dunno if can me out or not. assignment due here in 3 hours , i'm pretty frustrated. cannot file reading display in jtextarea. need do. can out?
public class reader extends javax.swing.jframe { /** * creates new form reader */ public reader() { initcomponents(); } public void displaytext(){ jlabel text = new jlabel(); add(text); } /** * method called within constructor initialize form. * warning: not modify code. content of method * regenerated form editor. */ @suppresswarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated code"> private void initcomponents() { jlabel1 = new javax.swing.jlabel(); jscrollpane1 = new javax.swing.jscrollpane(); jtextarea1 = new javax.swing.jtextarea(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); jlabel1.setfont(new java.awt.font("tahoma", 0, 18)); // noi18n jlabel1.settext("contact info"); jtextarea1.setcolumns(20); jtextarea1.setrows(5); jscrollpane1.setviewportview(jtextarea1); jtextarea1.seteditable(false); 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(54, 54, 54) .addcomponent(jscrollpane1, javax.swing.grouplayout.preferred_size, 477, javax.swing.grouplayout.preferred_size) .addcontainergap(71, short.max_value)) .addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup() .addcontainergap(javax.swing.grouplayout.default_size, short.max_value) .addcomponent(jlabel1, javax.swing.grouplayout.preferred_size, 210, javax.swing.grouplayout.preferred_size) .addgap(176, 176, 176)) ); layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup() .addgap(25, 25, 25) .addcomponent(jlabel1) .addpreferredgap(javax.swing.layoutstyle.componentplacement.related, 35, short.max_value) .addcomponent(jscrollpane1, javax.swing.grouplayout.preferred_size, 301, javax.swing.grouplayout.preferred_size) .addgap(64, 64, 64)) ); pack(); setlocationrelativeto(null); }// </editor-fold> /** * @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(reader.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (instantiationexception ex) { java.util.logging.logger.getlogger(reader.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (illegalaccessexception ex) { java.util.logging.logger.getlogger(reader.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(reader.class.getname()).log(java.util.logging.level.severe, null, ex); } //</editor-fold> bufferedreader br = new bufferedreader(new filereader("file1.txt")); try { stringbuilder sb = new stringbuilder(); string line = br.readline(); while (line != null) { sb.append(line); sb.append(system.lineseparator()); line = br.readline(); } string = sb.tostring(); } { br.close(); } /* create , display form */ java.awt.eventqueue.invokelater(new runnable() { public void run() { new reader().setvisible(true); } }); } // variables declaration - not modify private javax.swing.jlabel jlabel1; private javax.swing.jscrollpane jscrollpane1; private javax.swing.jtextarea jtextarea1; // end of variables declaration }
move
bufferedreader br = new bufferedreader(new filereader("file1.txt")); try { stringbuilder sb = new stringbuilder(); string line = br.readline(); while (line != null) { sb.append(line); sb.append(system.lineseparator()); line = br.readline(); } string = sb.tostring(); } { br.close(); }
into classes constructor, public reader() {
, use jtextarea1.settext(sb.tostring())
apply text jtexarea
public reader() { initcomponents(); bufferedreader br = new bufferedreader(new filereader("file1.txt")); try { stringbuilder sb = new stringbuilder(); string line = br.readline(); while (line != null) { sb.append(line); sb.append(system.lineseparator()); line = br.readline(); } jtextarea1.settext(sb.tostring()) } { br.close(); } }
having said that, you're not managing resources well, consider using more like...
try (bufferedreader myreader = new bufferedreader(new filereader("file1.txt"))) { string text = null; while ((text = myreader.readline()) != null) { jtextarea1.append(text + "\n"); } } catch (ioexception exp) { exp.printstacktrace(); }
or more simply...
try (reader myreader = new bufferedreader(new filereader("file1.txt"))) { jtextarea1.read(myreader, "inventory"); } catch (ioexception exp) { exp.printstacktrace(); }
Comments
Post a Comment