Button action event in swing java not working?And code queries -


please have patience read query thank you:)

this code below have generated in gui form(using swing awt) code work read text files folder , repeated words count , save specified folder. save files .xls

import java.io.*;  import java.nio.charset.charset;  import java.nio.charset.standardcharsets;  import java.nio.file.files;  import java.nio.file.paths;  import java.util.arraylist;  import java.util.collections;  import java.util.comparator;  import java.util.hashmap;  import java.util.list;  import java.util.map;  import java.util.set;  import java.util.stringtokenizer;  import java.util.map.entry;  public class maxoccurrence2 {  final static charset encoding = standardcharsets.utf_8;  public map<string, integer> getwordcount(string filename) {  fileinputstream fis = null;  datainputstream dis = null;  bufferedreader br = null;  map<string, integer> wordmap = new hashmap<string, integer>();  try {  fis = new fileinputstream(filename);  dis = new datainputstream(fis);  br = new bufferedreader(new inputstreamreader(dis));  string line = null;  while ((line = br.readline()) != null) {  stringtokenizer st = new stringtokenizer(line, " ");  while (st.hasmoretokens()) {   string tmp = st.nexttoken().tolowercase();   if (wordmap.containskey(tmp)) {   wordmap.put(tmp, wordmap.get(tmp) + 1);   } else {    wordmap.put(tmp, 1);  }  }  }   } catch (filenotfoundexception e) {  e.printstacktrace();  } catch (ioexception e) {  e.printstacktrace();  } {  try {  if (br != null) br.close();  } catch (exception ex) {  }   }   return wordmap;  }  public list<entry<string, integer>> sortbyvalue(map<string, integer> wordmap) {  set<entry<string, integer>> set = wordmap.entryset();  list<entry<string, integer>> list = new arraylist<entry<string, integer>>(set);  collections.sort(list, new comparator<map.entry<string, integer>>() {  public int compare(map.entry<string, integer> o1, map.entry<string, integer> o2) {  return (o2.getvalue()).compareto(o1.getvalue());  }  });   return list;  }  public static void main(string a[]) throws ioexception {  string path = "e:\\testfolder\\";  string filenamein;  file folder = new file(path);  file[] listoffiles = folder.listfiles();  (int = 0; < listoffiles.length; i++) {  if (listoffiles[i].isfile()) {  filenamein = path + listoffiles[i].getname();  maxoccurrence2 mdc = new maxoccurrence2();  map<string, integer> wordmap = mdc.getwordcount(filenamein);  list<entry<string, integer>> list = mdc.sortbyvalue(wordmap);  string filenameoutput = path +  "\\output\\"+         listoffiles[i]  .getname()  .substring(0, listoffiles[i].getname().length() - 4)+ "output.csv";   try   (bufferedwriter writer = files .newbufferedwriter(paths.get(filenameoutput), encoding)) {      (map.entry<string, integer> entry : list) {      writer.write(entry.getkey() + " =" + entry.getvalue());      writer.newline();  }  }  } } }  

from code output:

ஒரு 10 mypresent output.

now should save unicode format code excel. output file example(test.xls)

inside excel columns,

serial no word count (static columns)

1 ஒரு 10

like needed.

in gui(swing)

1)

in source path-we should select folder or particular files , selections should displayed in textarea shows list of files selected , should have check box ""select all"" , check box particular files going select.

2) in destination path (another jfile chooser) should set folder destination path output generated.

if generating same files again , again in destination, should prompt saying ""whether overwrite or save copy".

3) if select folder,the files inside folder should displayed in textarea in form of check box.

and should show count (no of files ticked). can know ticked , generate files needed or entire files.

after generation should give acknowledgement message process completed.

here swing program

import java.awt.*; import java.awt.event.*; import javax.swing.*;  import java.io.*;  public class swingpgm3 extends thread implements actionlistener {  jframe f;  jtextfield tf,text1;  jtextarea ta;  jlabel lab1;  string str;  jscrollpane scrol;  file fl; private jcheckbox chckbxselectall; private jtextfield textfield; private jlabel lblsourcefolderfiles; private jbutton btnchoosedirectoryfrom; private jbutton btndisplay; private jlabel lbllistfilesbelow;  swingpgm3() { f = new jframe( "search box" ); f.getcontentpane().setlayout( null ); f.setsize( 820, 700 );  tf = new jtextfield(); tf.setbounds( 25, 50, 750, 40 ); tf.setfont( new font( "latha", font.bold, 20 ) ); tf.sethorizontalalignment( jtextfield.center ); f.getcontentpane().add( tf );  ta = new jtextarea(); scrol = new jscrollpane( ta ); ta.setfont( new font( "latha", font.bold, 20 ) ); //jscrollpane.setpreferredsize(750,450); scrol.setbounds( 25, 100, 750, 450 );  f.getcontentpane().add( scrol );  chckbxselectall = new jcheckbox("select all"); chckbxselectall.setbounds(25, 557, 97, 23); f.getcontentpane().add(chckbxselectall);  jbutton btngenerate = new jbutton("generate"); btngenerate.addactionlistener(new actionlistener() {     public void actionperformed(actionevent e) {       } }); btngenerate.setbounds(316, 604, 89, 23); f.getcontentpane().add(btngenerate);  textfield = new jtextfield(); textfield.setbounds(268, 558, 86, 20); f.getcontentpane().add(textfield); textfield.setcolumns(10);  jlabel lblnooffiles = new jlabel("no of files selected"); lblnooffiles.setbounds(141, 561, 139, 14); f.getcontentpane().add(lblnooffiles);  jlabel lbldestinationfolderto = new jlabel("destination pathto generate files"); lbldestinationfolderto.setbounds(553, 561, 226, 14); f.getcontentpane().add(lbldestinationfolderto);  jbutton btnbrowse = new jbutton("browse"); btnbrowse.addactionlistener(new actionlistener() {      public void actionperformed(actionevent arg0) {       } }); btnbrowse.setbounds(553, 583, 89, 23); f.getcontentpane().add(btnbrowse);  lblsourcefolderfiles = new jlabel("source folder/ files"); lblsourcefolderfiles.setbounds(6, 17, 138, 14); f.getcontentpane().add(lblsourcefolderfiles);  btnchoosedirectoryfrom = new jbutton("choosedirectory "); btnchoosedirectoryfrom.addactionlistener(new actionlistener() {       public void actionperformed(actionevent e) {           filedialog fd = new filedialog( f, "open box", filedialog.load );         btnchoosedirectoryfrom.addactionlistener( );     } }); btnchoosedirectoryfrom.setbounds(141, 9, 170, 30); f.getcontentpane().add(btnchoosedirectoryfrom);  btndisplay = new jbutton("select display"); btndisplay.setenabled(false); btndisplay.setbounds(534, 9, 180, 30); btndisplay.addactionlistener( );  f.getcontentpane().add(btndisplay);  lbllistfilesbelow = new jlabel("list files below choose "); lbllistfilesbelow.setbounds(344, 17, 180, 14); f.getcontentpane().add(lbllistfilesbelow); f.setvisible( true ); f.setdefaultcloseoperation( jframe.exit_on_close );   }  public void actionperformed( actionevent ae ) { if ( ae.getactioncommand().equals( "choosedirectory from" ) ) {   filedialog fd = new filedialog( f, "open box", filedialog.load );     fd.setsize( 300, 300 );   fd.setvisible( true );   str = fd.getdirectory();    if ( str != null && !str.trim().equals( "" ) )   {     tf.settext( str );      // enable search button     btndisplay.setenabled( true );   }   else   {       btndisplay.setenabled( false );   }  }  if ( ae.getactioncommand().equals( "btndisplay" ) ) {   fl = new file( str );   file[] flist = fl.listfiles();    ( int = 0; < flist.length; i++ )   {     string newline = system.getproperty( "line.separator" );     string nm = text1.gettext();     if ( flist[i].getname().tolowercase().endswith( nm.tolowercase() ) )     {       if ( flist[i].isfile() )       {           ta.settext( ta.gettext()+flist[i].getname() + newline );        }     }   } }  }  public static void main( string args[] )  { new swingpgm3();  } } 

so far have done gui framework, in swing program "choosedirectory from" not opening file browser.

before open , display file names in text area.

can guide step

i beginner java in advance.

i have attached java application output image: output image

this because have overridden action performed method @ "choosedirectory from" @ place have declared button expecting behave way have defined later.

change following code:

btnchoosedirectoryfrom = new jbutton("choosedirectory from"); btnchoosedirectoryfrom.addactionlistener(new actionlistener() { public void actionperformed(actionevent e) {     filedialog fd = new filedialog( f, "open box", filedialog.load );     btnchoosedirectoryfrom.addactionlistener( ); } }); 

to

btnchoosedirectoryfrom = new jbutton("choosedirectory from"); btnchoosedirectoryfrom.addactionlistener(this); 

and should work. note, button has trailing space @ end while equals command in actionperformed method doesn't have space check fail. need remove space.


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -