ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
6642
6642
EMPFEHLEN
-
Hallo zusammen,
Ich bin ein Anfänger in Java und hoffe deswegen Ihr könnt mir helfen.
Mein Entwicklungsumgebung ist NetBeans IDE 5.5 und ich möchte ein kleines Programm erstellen, dass mir aus einem JArea-Textfeld ein Wort einliest und dann dieses Wort als oder in einer .TXT-Datei auf meinem Desktop abgespeichert.
Natürlich ist das nicht alles was das Programm machen soll aber ich wäre euch sehr dankbar, wenn Ihr mir den Code für diesen Teil geben könntet, da ich dann darauf aufbauen und mein Programm danach noch weiter ausbauen kann.
Naja, mein sehr bescheidener Zwischenstand in der GUI sieht wie folgt aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
/* * NewJFrame.java * * Created on 2. Juli 2007, 23:01 */ package javaapplication5; /** * * @author diaspora */ public class NewJFrame extends javax.swing.JFrame { /** Creates new form NewJFrame */ public NewJFrame() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code "> private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTextArea1 = new javax.swing.JTextArea(); jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTextArea1.setColumns(20); jTextArea1.setRows(5); jTextArea1.setText("Bitte hier eingeben"); jScrollPane1.setViewportView(jTextArea1); jButton1.setText("speichern"); jButton1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent evt) { alsTXTspeichern(evt); } }); org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .add(30, 30, 30) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jButton1) .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addContainerGap(192, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .add(43, 43, 43) .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jButton1) .addContainerGap(114, Short.MAX_VALUE)) ); pack(); }// </editor-fold> [COLOR="Red"]private void alsTXTspeichern(java.awt.event.MouseEvent evt) { // TODO add your handling code here: }[/COLOR] /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new NewJFrame().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton jButton1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea jTextArea1; // End of variables declaration }
Kann mir vielleicht jemand dabei helfen?
Gruß
Diaspora
-
Hallo,
ich glaube kaum, dass dir jemand helfen wird, wenn du direkt nach dem Code fragst und man nicht sieht, dass du dir selbst mal gedanken gemacht hast, vor allem wenn der Code den du gepostet hast, sehr danach aussieht, dass du diesen nur mit einem GUI-Builder zusammen geklickt hast.
Das hier wird dir weiter helfen.
http://www.galileocomputing.de/openb...a94eccb4ec6623
Ich bin mir auch ziemlich sicher, wenn du weitere Fragen hast, du auch eine Lösung hier finden wirst.
MFG
zEriXEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
Hallo,
Danke! Das hilft mir schon mal weiter
Gruß
diaspora
-
Hallo,
ich habe das Programm jetzt soweit hinbekommen wie ich es haben wollte:
Einlesen eines Strings im Command-Fenster-> speichern als Inhalt in einer Texdatei->Öffnen einer Textdatei mit Ausgabe des Inhalts und->Möglichkeit der Ver-/Entschlüsselung
Ich habe das ganze Programm aber prozedural und nicht objektorientiert geschrieben.
das soll eine große Sünde sein, wenn man Programme in Java schreibt
Aus diesem Grund wollte ich es jetzt nachträglich objektorientiert machen und die Ver-/Entschlüsselungsfunktionen in eine Extra-Klasse packen.
Irgendwie stimmt jezt aber was nicht mehr, die Ver-/Entschlüsselungs-Methoden werden zwar von der "Haupt"-Klasse aufgerufen aber sie liefern nicht das Ergebnis zurück, wie ich es haben will, dh immer noch verschlüsselt oder unversschlüsselt,dh sie wurden von den Methoden nicht bearbeitet.
Vielleicht liegt der Fehler aber auch darin, dass ich das Objekt der Klasse mit den Ver-/Entschlüsselungs-Methoden nicht richtig erzeugt habe
Klasse ConsApp ("Haupt"-Klasse):
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
/* Verschlüsseln: Nach einlesen des Strings soll der String in einer TXT-Datei abgespeichert werden. Danach soll eine angegebene TXT-Datei geöffnet, der Inhalt eingelesen und auf der Konsole ausgegeben werden. Dieser Inhalt kann dann verschlüsselt oder entschlüsselt werden */ import java.io.*; public class ConsApp extends Verschluesselung { static String middle, first, last, filename; static BufferedReader in; static PrintWriter out; static String DOS_CODE_PAGE = "Cp850"; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////// Einlesen des Datei-Inhaltes //////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static void main(String args[]) throws IOException { out = new PrintWriter(new OutputStreamWriter(System.out, DOS_CODE_PAGE), true); in = new BufferedReader( new InputStreamReader(System.in, DOS_CODE_PAGE)); try { out.println("Verschlüsselung von Textdateien in Java"); out.println("---------------------------------------"); first = new String("Datei-Inhalt:"); middle = "?"; out.print(first); out.print(' '); out.print(middle); out.println(); out.println(); out.println("Bitte geben Sie einen Text ein, der an Stelle der Fragezeichen in einer Text-Datei eingesetzt werden soll."); out.println(); middle = in.readLine(); StringBuffer buff = new StringBuffer(first.length() + middle.length()); buff.append(first).append(' ').append(middle).append(' '); out.println(); out.println(buff.toString()); create(middle); } catch (Throwable erx) { // Error or Exception out.println(); out.println("Der eingegebene Datei-Name konnte nicht gefunden werden."); out.println("Bitte überprüfen Sie Ihre Eingabe noch einmal und geben Sie den Dateinamen ohne die .txt-Endung ein."); open(filename); } finally { out.println(); out.println("To exit, close the window."); in = new BufferedReader( new InputStreamReader(System.in, DOS_CODE_PAGE)); in.readLine(); } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////// Erstellen einer Text-Datei ///////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static void create(String middle) { try { out.println(); out.println("Bitte geben Sie einen Namen ein, unter dem die Datei gespeichert werden soll."); out.println(); filename = in.readLine()+ ".txt"; out.println(); FileWriter file = new FileWriter(filename); String message = middle; file.write(message, 0, message.length()); file.close(); open(filename); } catch (Exception e) { // Error or Exception out.println(); out.println("Der eingegebene Datei-Name konnte nicht gelesen werden. Versuchen Sie es bitte erneut"); create(middle); } } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////// Öffnen einer Text-Datei /////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static void open(String filename) { try { out.println("Bitte geben Sie jetzt den Namen der Datei ein, die geöffnet und deren Inhalt jetzt angezeigt werden soll."); out.println(); filename = in.readLine()+ ".txt"; out.println(); FileReader open_file = new FileReader(filename); StringBuffer message1 = new StringBuffer(); char c; while (open_file.ready()) { c = (char)open_file.read(); message1.append(c); } middle =(message1.toString()); open_file.close(); action(); } catch (Exception e) { // Error or Exception out.println(); out.println("Der eingegebene Datei-Name konnte nicht gefunden werden."); out.println("Bitte überprüfen Sie Ihre Eingabe noch einmal und geben Sie den Dateinamen ohne die .txt-Endung ein."); out.println(); open(filename); } } //out.choice(); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////// Auswahl ob Datei Ver- oder Entschlüsselt werden soll ////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static void action() { [COLOR="Red"]Verschluesselung Verschluesselung = new Verschluesselung();[/COLOR] try { out.println(); out.println("================ Cäsar Verschlüsselung für Textdateien ================"); out.println(); out.print(first); out.print(' '); out.print(middle); out.println(); out.println(); out.println("Wählen Sie einen Modus : "); out.println(); out.println(" <1> Verschlüsseln"); out.println(" <2> Entschlüsseln"); out.println(); int mode = Integer.parseInt(in.readLine()); if(mode==1) { out.println(); [COLOR="red"]Verschluesselung.encode(middle);[/COLOR] out.println("Dateinhalt ist verschlüsselt worden: " + middle); out.println(); out.println("Wenn Sie speichern möchten drücken Sie bitte 'J'"); String s = in.readLine(); if (s.equals("j") || s.equals("J")) { create(middle); } else { out.println(); out.println("To exit, close the window."); in = new BufferedReader( new InputStreamReader(System.in, DOS_CODE_PAGE)); in.readLine(); } } else if(mode==2) { out.println(); [COLOR="red"]Verschluesselung.decode(middle);[/COLOR] out.println("Dateinhalt ist entschlüsselt worden: " + middle); out.println("Wenn Sie speichern möchten drücken Sie bitte 'J'"); out.println(); String s = in.readLine(); if (s.equals("j") || s.equals("J")) { create(middle); } else { out.println(); out.println("Um das Programm zu beenden, schließen Sie bitte das Fenster."); } } else { out.println(); out.println("Bitte nur 1 oder 2 auswählen!"); action(); } } catch (Exception e) { // Error or Exception out.println(); out.println("Bitte wählen Sie nur die Zahl 1 oder 2 aus!"); action(); } } }
Das hier ist meine neue Klasse mit den Ver-/Entschlüsselungsmethoden
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////// Verschlüsselungsfunktion ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public class Verschluesselung { static char key = 1; static String middle; public static String encode( String s ) { StringBuffer result = new StringBuffer(); for( int i = 0; i < s.length(); i++ ) { int c = s.charAt( i ); if ( (c >= 'A') && (c <= 'z') ) { c += key; if( c > 'z' ) c = 'a' + c % 'z' -1; if( (c > 'Z') && (c < 'a') ) c = 'A' + c % 'Z' - 1; } result.append( (char) c ); } middle = result.toString(); return middle; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////// Entschlüsselungsfunktion ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static String decode( String s ) { StringBuffer result = new StringBuffer(); for( int i = 0; i < s.length(); i++ ) { int c = s.charAt( i ); if ( (c >= 'A') && (c <= 'z') ) { c -= key; if( (c < 'a') && (c > 'Z') ) c = 'a' + ('z' - c % 'a') - 1; if( c < 'A' ) c = 'A' + ('Z' - c % 'A') - 1; } result.append( (char) c ); } middle = result.toString(); return middle; } }
Kann mir jemand sagen wo mein Fehler liegt und wie ich es schaffen kann dass mir ein entschlüsseltes Ergebnis zuürckgeliefert wird?
Gruß
diaspora
-
Also, du könntest erstmal alle static rausnehmen.
Die brauchst du in deinem programme nicht (auss natürlich in der Main methode)
-
Hat leider nichts geholfen....
Immern noch das selbe Problem
Gruß
Diaspora
-
Nenn mal deine Objektrefern um.Code :
1
Verschluesselung Verschluesselung = new Verschluesselung();
Also die sollte anders als der Klassenname sein.
Dann müsstes du natürlich bei:
und beiCode :1
Verschluesselung.encode(middle);
auch die neue Referenz benutzen.Code :1 2
[ Verschluesselung.decode(middle);
-
Habe es mit
Verschluesselung ident = new Verschluesselung();
und dann
ident.encode(middle)M
versucht, geht aber auch nicht
Gruss
diaspora
-
Ich habe gerade nur mal die Verschluesselnklasse getestet, und die funktioniert.
Kommt denn bei dir eine Fehlermeldung, oder kommt da einfach garnichts?
-
Hallo diaspora,
Deine Klasse funktioniert, aber Du mußt die Rückgabewerte natürlich auch verarbeiten. Ein einfaches
führt natürlich zu keinem Ergebnis, wenn Du das Return der Methode nicht auffängst.Code java:1
ident.encode(middle);
Mit
solltest Du dann auch eine Ausgabe erhalten...
-
Das Programm läuft eigentlich einwandfrei aber es werden nicht die Methoden ausgeführt. ein Verschlüsselter Inhalt einer txt-Datei wir nach Aufruf der Methode "encode" nicht entschlüsselt, sondern der Inhalt bleibt verschlüsselt und wird auch weiterhin verschlüsselt ausgegeben. Prozedural lief das Programm und die Funktionen (encode/decode) wurden auch korrekt ausgeführt aber seit dem ich die Klasse "Verschluesseln" erstellt habe und die Funktionen da rein gesetzt habe geht es nicht mehr
-
Ähnliche Themen
-
Boxen speichern und wieder ausgeben
Von h4dhunTer im Forum PHPAntworten: 0Letzter Beitrag: 03.01.08, 02:44 -
C++ Ergebniss berechnen in einer TXT datei speichern und wieder ausgeben
Von Plattfuss im Forum C/C++Antworten: 5Letzter Beitrag: 19.09.06, 16:37 -
Datei in MySQL-DB speichern und wieder ausgeben
Von dwex im Forum PHPAntworten: 5Letzter Beitrag: 05.05.06, 17:13 -
Text-Datei auslesen & text anfügen (mal wieder)
Von Nico192 im Forum Visual Basic 6.0Antworten: 6Letzter Beitrag: 22.10.05, 20:10 -
Text Datein auslesen und auf Buttonklick wieder speichern
Von Jukkales im Forum PHPAntworten: 2Letzter Beitrag: 26.05.05, 16:51





Zitieren



Login





