View Full Version : Java και Xml
Σαν φοιτητής πληροφορικής επιτέλους μας έβαλαν μια ουσιαστική και ενδιαφέρον εργασία στην οποία έχω ένα πρόβλημα. Η εργασία απαιτεί να δημιουργήσουμε μια εφαρμογή όπου κάποιος θα μπορεί να γράφει μια είδηση και μετά όλα τα δεδομένα θα αποθηκεύονται σε ένα xml αρχείο. Το γραφικό περιβάλλον το έχω κάνει. Το πρόβλημα είναι πως να κάνω το μετασχηματισμό xml στη java. Ξέρω xml και πως πρέπει να οργανώσω το αρχείο αλλά σε συνδυασμό με java όχι. Επίσης θέλω να μου πείτε αν γίνετε όταν ο χρήστης ανοίγει το παράθυρο για να αποθηκεύσει το αρχείο αυτό να έχει προεπιλεγμένη την κατάληξη xml και να μην χρειάζεται να την βάζει ο χρήστης με το χέρι. Ελπίζω να έγινα κατανοητός.
Υ.Γ. Ένα άλλο μικρό προβληματακί που έχω και δεν είναι ουσιαστικό είναι το εξής: ότι και στο JTextField και στο JTextArea δεν δουλεύουν τα ορίσματα για το μέγιστο αριθμό χαρακτήρων που μπορούν να δεχτούν.Δηλαδή ενώ γράφω
JTextArea keimeno = new JTextArea(15, 50); μπορώ να γράψω παραπάνω απο 50 χαρακήρες σε μια γραμμή.
Ευχαριστώ
Αν και δεν συμπαθώ την java (οπότε δεν έχω μαθει κιόλας) υπάρχει το xml api JAXP (http://java.sun.com/webservices/jaxp/dist/1.1/docs/api/index.html)
Επίσης για το text edit όλες οι σύγχρονες υλοποιήσεις τέτοιων controls μεγαλωνουν δυναμικά για να αποφευχθούν overflows ή "πατήματα" σε μνήμη που δεν έχεις δεσμεύσει. Μπορείς να ελέγχεις το μήκος του string που θα παρουσιάσεις στον χρήστη κάθε φορά που θα αλλάζει.
Δεν ξέρω αν σου δουλέψει προσθέτωντας το textArea.setEditable(false); αλλά δοκίμασε να βάλεις limit στο JScrollpane(παίρνει????)
λινκ (http://216.239.59.104/search?q=cache:RBmugtSMhmgJ:java.sun.com/docs/books/tutorial/uiswing/components/textarea.html+JTextArea+limited+chars&hl=en)
link2 (http://forum.java.sun.com/thread.jspa?threadID=420289&messageID=1865545)
JTextArea keimeno = new JTextArea(15, 50);
με αυτό ορίζεις το μήκος και το πλάτος του TextArea..... δεν ορίζεις max characters...
οπότε όπως είπε ο φίλτατος Yop, μπορείς να αποθηκεύσεις σε ένα string και αφαιρώντας τα κένα μπορείς να μετρήσεις το πλήθος των χαρακτήρων...
δες εδώ και γενικά να κοιτάς το java.sun.com, το documentation, είναι πολύ επεξηγηματικό και μπορείς να βλέπεις όλες τις μεθόδους που μπορείς να χρησιμοποιήσεις....
τώρα πιστεύω να θέλεις δυναμικά να γίνεται ο έλεγχος..... θέλει δουλειά αυτό
http://java.sun.com/docs/books/tutorial/uiswing/components/textarea.html
Ορίστε και αυτό που ψάχνεις, να είναι καλά ο γούγλης
http://forum.java.sun.com/thread.jspa?threadID=611624&tstart=150
Ορίστε και κώδικας που μπορεί να σε βοηθήσει για το save..... :111:
private void doSaveAs(){
FileDialog fileDialog=new FileDialog(this,"Save As...",FileDialog.SAVE);
fileDialog.show();
if(fileDialog.getFile()==null)
return;
fileName=fileDialog.getDirectory()+ File.separator + fileDialog.getFile();
doSave(fileName);
}
private void doSave(String fileName){
FileOutputStream fos = null;
String str = ta.getText();
try {
fos = new FileOutputStream(fileName);
fos.write(str.getBytes());
} catch (IOException e) {
} finally {
try {
fos.close();
} catch (IOException e2) {
}
}
}
private void dosaveaction(){
if ("".equals(fileName))
doSaveAs();
else
doSave(fileName);
}
Κοίτα εδώ για το φίλτρο στο save....
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/FileDialog.html#setFilenameFilter(java.io.Filename Filter)
Αν και δεν συμπαθώ την java (οπότε δεν έχω μαθει κιόλας) υπάρχει το xml api JAXP (http://java.sun.com/webservices/jaxp/dist/1.1/docs/api/index.html)
Φίλε και εγώ δεν μπορώ να πω οτι συμπαθώ τη Java αλλά τι να κάνουμε πρέπει να το κάνω.
Τελικά τη δομή xml την έκανα μέσα απο τον κώδικα αφού το αρχείο xml είναι μικρό και πολύ απλό. Απλά δεν μπόρεσα στο παράθυρο save as να έχει προεπιλεγμένη την κατάληξη .xml και πρέπει να τη βάζει ο χρήστης μετά το όνομα του αρχείου. Όσο για το Textarea το έιχα καλάβει λάθος. Ευχαριστώ για το ενδιαφέρον.
Φίλε και εγώ δεν μπορώ να πω οτι συμπαθώ τη Java αλλά τι να κάνουμε πρέπει να το κάνω.
Τελικά τη δομή xml την έκανα μέσα απο τον κώδικα αφού το αρχείο xml είναι μικρό και πολύ απλό. Απλά δεν μπόρεσα στο παράθυρο save as να έχει προεπιλεγμένη την κατάληξη .xml και πρέπει να τη βάζει ο χρήστης μετά το όνομα του αρχείου. Όσο για το Textarea το έιχα καλάβει λάθος. Ευχαριστώ για το ενδιαφέρον.
δες αυτό το λινκ που σου έγραψα πριν...
Κοίτα εδώ για το φίλτρο στο save....
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/FileDialog.html#setFilenameFilter(java.io.Filename Filter
Φίλε και εγώ δεν μπορώ να πω οτι συμπαθώ τη Java αλλά τι να κάνουμε πρέπει να το κάνω.Δεν σου το είπα για να σου πω ότι κάνεις λάθος επιλογή, απλά σαν προειδοποίηση ότι αυτά που σου λέω μπορεί να μην ισχύουν και ότι η απάντηση μου βασίζεται στην όποια εμπειρία έχω στον προγραμματισμό σε άλλες γλώσες.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.