java - Getting Input from JTextArea -
public static void main(string[] args) throws printerexception { toolkit tk = toolkit.getdefaulttoolkit(); int xsize = ((int) tk.getscreensize().getwidth()); int ysize = ((int) tk.getscreensize().getheight()); final string password = "alphabet"; jframe screen = new jframe("insert title here"); screen.setsize(xsize, ysize); screen.setdefaultcloseoperation(jframe.exit_on_close); screen.setresizable(false); screen.setvisible(true); final jwindow window = new jwindow(screen); window.setsize(xsize, ysize); window.setname("insert title here"); final jtextarea text = new jtextarea(); text.settext("type password > "); text.setbackground(color.black); text.setforeground(color.green); window.add(text); window.setvisible(true); text.addkeylistener(new java.awt.event.keyadapter(){ public void keyreleased(java.awt.event.keyevent evt) { system.out.println(evt.getkeycode()); if(evt.getkeycode() == 51){ system.out.println(text.gettext()); string passattempt = text.gettext(); int start = passattempt.indexof('>') + 2 ; int end = passattempt.indexof('#'); passattempt = passattempt.substring(start, end); if(passattempt.equals(password)) { system.out.println("successful"); text.settext("login successful"); window.add(text); window.setvisible(true); } if(!passattempt.equals(password)) { system.out.println(passattempt); text.settext("incorrect"); window.add(text); window.setvisible(true); } } } }); } i'm trying create fallout-esque user interface, , need user input type in 'password' before open ui, can't figure out how read input jtextarea, please help!
note: main goal here keep feel of using old school dos program, can't use joptionpane or that.
edit: everybody, ended going keylistener, , worked perfectly!
since use jtextarea instead of jpasswordfield, have filter out password content of text jtextarea. idea have far make condition capture password after type password > sentences.
then, save original password somewhere in arraylist , masking original password else *** , replace original password content on jtextarea masked password. maybe not perfect solution question, believe answer can @ least.
public class test { private static string password; private static list<string> passwordlist; public static void main(string[] args) throws printerexception { keyevents ke = new keyevents(); toolkit tk = toolkit.getdefaulttoolkit(); int xsize = ((int) tk.getscreensize().getwidth()); int ysize = ((int) tk.getscreensize().getheight()); jframe screen = new jframe("insert title here"); screen.setsize(xsize, ysize); screen.setdefaultcloseoperation(jframe.do_nothing_on_close); screen.setresizable(false); screen.setvisible(true); jwindow window = new jwindow(screen); window.setsize(xsize, ysize); window.setname("insert title here"); final jtextarea text = new jtextarea(); text.settext("type password > "); text.setbackground(color.black); text.setforeground(color.green); passwordlist = new arraylist<string>(); text.addkeylistener(new java.awt.event.keyadapter() { public void keyreleased(java.awt.event.keyevent evt) { string[] content = text.gettext().split("\n"); string newcontent = ""; (int = 0; < content.length; i++) { if (content[i].contains("type password > ")) { password = content[i].replace("type password > ", ""); if(password.length() > 0){ passwordlist.add(password.substring(password.length() - 1)); } content[i] = "type password > " + passwordmasked(password); } newcontent += content[i]; } if (evt.getkeycode() == 10) { newcontent += "\nyour password " + arrays.tostring(passwordlist.toarray()); } text.settext(newcontent); } }); window.add(text); window.setvisible(true); } public static string passwordmasked(string password) { string value = password; password = ""; (char c : value.tochararray()) { password += "*"; } return password; }
Comments
Post a Comment