Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας,

Θα ήθελα την πολύτιμη βοήθειά σας, έχω δημιουργίσει έναν επεξεργαστή κειμένου σε γλώσσα java (σύμφωνα με ένα tutorial που βρήκα στο net) ο οποίος περιέχει όλες τις λειτουργίες ενός απλού επεξερργαστή κειμένου (επιλογή γραμματοσειράς, μεγέθους, χρώματως, copy-paste κτλπ.). Θα ήθελα όμως να προσθέσω και ένα ορθογραφικό λεξικό ωστε μόλις γράφω λάθος κάποια λέξη να μου εμφανίζει κάποιες εναλλακτικές επιλογές για την σωστή. Δεν ξέρω καθόλου πώς μπορεί να γίνει κάτι τέτοιο και θα ήθελα την γνώμη σας μπάς και μπορέσω να βρω κάποια άκρη…

Δημοσ.

Η υλοποίηση δε νομίζω ότι είναι δύσκολη. Το μόνο που χρειάζεσαι είναι ένα αρχείο με όλο το ελληνικό λεξιλόγιο. Είχα συναντήσει μέσα στο forum ένα τέτοιο αρχείο, αν το βρω θα προσθέσω το link.

 

EDIT:

Link

Δημοσ.

Η υλοποίηση δε νομίζω ότι είναι δύσκολη. Το μόνο που χρειάζεσαι είναι ένα αρχείο με όλο το ελληνικό λεξιλόγιο. Είχα συναντήσει μέσα στο forum ένα τέτοιο αρχείο, αν το βρω θα προσθέσω το link.

 

EDIT:

Link

Ένα τέτοιο αρχείο με τις λέξεις μπορώ να βρώ.. Θα ήθελα αν είναι εύκολο μια μικρή βοήθεια στον κώδικα, δηλ. στην υποκλάση που θα κάνει τον έλεγχο της εγγραφής των λέξεων. ευχαριστώ

Δημοσ.

Γενικά εσύ στον editor έχεις ένα textarea που στην ουσία εκεί γράφει ο χρήστης σωστά;

Εεε θα κανείς έναν event handler όταν το κείμενο αλλάζει ώστε να βλέπεις "τι άλλαξε" και μετά να κάνει validate (σύμφωνα με το dictionary που έχεις) στο αλλαγμένο κείμενο.

Τώρα αν θες autocomplete ή αυτόματη διόρθωση είναι λίγο πιο δύσκολο. (κυρίως για το δεύτερο)

Δημοσ.

Ένα τέτοιο αρχείο με τις λέξεις μπορώ να βρώ.. Θα ήθελα αν είναι εύκολο μια μικρή βοήθεια στον κώδικα, δηλ. στην υποκλάση που θα κάνει τον έλεγχο της εγγραφής των λέξεων. ευχαριστώ

 

Εγώ θα το υλοποιούσα κάπως ετσι..

 

Θα χρησιμοποιούσα το event keyPressed. Ότι κώδικα γράψεις εκεί μέσα, τρέχει κάθε φορά που θα πατηθεί κάτι στο πληκτρολόγιο.

Έτσι, θα έβαζα μια if στην οποία θα γίνεται έλεγχος για το αν η είσοδος είναι το SPACE. Όταν θα πατήσει ο χρήστης το Space, θα εκτελεστεί το σώμα της if. Το σώμα της if θα περιέχει κώδικα ο οποίος θα ψάχνει το αρχείο (με το λεξιλόγιο) για να βρει τη λέξη.

Για να πάρεις την τελευταία λέξη ώστε να την αναζητήσεις, μπορείς να χρησιμοποιήσεις τις μεθόδους της String lastIndexOf και substring.

 

Αν θέλεις περαιτέρω βοήθεια, πες μας ακριβώς τι θέλεις.

Δημοσ.

Γενικά εσύ στον editor έχεις ένα textarea που στην ουσία εκεί γράφει ο χρήστης σωστά;

Εεε θα κανείς έναν event handler όταν το κείμενο αλλάζει ώστε να βλέπεις "τι άλλαξε" και μετά να κάνει validate (σύμφωνα με το dictionary που έχεις) στο αλλαγμένο κείμενο.

Τώρα αν θες autocomplete ή αυτόματη διόρθωση είναι λίγο πιο δύσκολο. (κυρίως για το δεύτερο)

Ακριβώς, έχω ένα κενό text area οπου εκεί μέσα μπορεί ο χρήστης να πληκτρολογεί το κείμενό του. Κάπως έτσι:

>
public void textarea(Frame_class fc1){
   
   
   

   tx1.setEditable(true);
   fc1.add(tx1);     

}

Μπορείς αν σου είναι εύκολο να μου πείς περίπου με κώδικα πώς μπορώ να κάνω το validate καθώς και πώς θα μπορώ να κοκκινίζω την λάθος λέξη? νομίζω η αυτόματη διόρθωση δεν χρειάζεται αρχικά!

ευχαριστώ εκ των προτέρων

Δημοσ.

Εγώ θα το υλοποιούσα κάπως ετσι..

 

Θα χρησιμοποιούσα το event keyPressed. Ότι κώδικα γράψεις εκεί μέσα, τρέχει κάθε φορά που θα πατηθεί κάτι στο πληκτρολόγιο.

Έτσι, θα έβαζα μια if στην οποία θα γίνεται έλεγχος για το αν η είσοδος είναι το SPACE. Όταν θα πατήσει ο χρήστης το Space, θα εκτελεστεί το σώμα της if. Το σώμα της if θα περιέχει κώδικα ο οποίος θα ψάχνει το αρχείο (με το λεξιλόγιο) για να βρει τη λέξη.

Για να πάρεις την τελευταία λέξη ώστε να την αναζητήσεις, μπορείς να χρησιμοποιήσεις τις μεθόδους της String lastIndexOf και substring.

 

Αν θέλεις περαιτέρω βοήθεια, πες μας ακριβώς τι θέλεις.

Θα ήθελα όταν ο χρήστης γράψει μία λέξη να την ελέγχει και αν είναι γραμμένη λάθος να την κοκκινίζει. Το αρχείο .txt που έχει τις λέξεις πώς μπορώ να το εισάγω μέσα στην main και να το συνδέσω με την μέθοδο? Αν μπορούσες να μου το δείξεις με κώδικα θα με διευκόλυνε.. Ευχαριστώ πολύ πάντως για την βοήθεια!!
Δημοσ.

Θα ήθελα όταν ο χρήστης γράψει μία λέξη να την ελέγχει και αν είναι γραμμένη λάθος να την κοκκινίζει.

 

Για τον έλεγχο της λέξης θα σου εξηγήσω πιο αναλυτικά αυτό που σου έγραψα και πριν.

 

Έστω ότι ο χρήστης γράφει την πρόταση "Εγώ κάθομαι και προγραμματίζω". Μόλις πατηθεί το πρώτο SPACE (αλλαγή λέξης δηλαδή), θα πρέπει να γίνει έλεγχος από την αρχή μέχρι πριν το SPACE ("Εγώ"). Στο δεύτερο πάτημα του SPACE θα πρέπει να γίνει έλεγχος από το πρώτο SPACE μέχρι πριν το δεύτερο SPACE ("κάθομαι") και πάει λέγοντας.

 

-Για να κοκκινίζει η λέξη δεν ξέρω πως γίνεται, δεν έχω ασχοληθεί με text editor στη Java. Με ένα πρόχειρο ψάξιμο στο Google βρήκα αυτό. Απ' ότι βλέπω μπορείς να έχεις διαφορετικό style σε επιλεγμένο κείμενο, οπότε μπορείς να κοκκινίσεις τη λέξη αν είναι λάθος!

-Για να πάρεις τη θέση του SPACE κάθε φορά, χρησιμοποίησε τη μέθοδο lastIndexOf όπως σου είπα και προηγουμένως.

-Για να πάρεις τη λέξη από τις θέσεις αυτές, χρησιμοποίησε τη μέθοδο substring.

 

Την παραπάνω περιγραφή πρέπει να την υλοποιήσεις στη μέθοδο keyPressed. Θα σε βοηθήσει και αυτό το παράδειγμα.

 

Δε σου δίνω έτοιμο κώδικα γιατί έτσι δε θα καταλάβεις ακριβώς τι παίζει. Ψάξ' το λιγάκι μόνος σου, δεν είναι δύσκολο!:)

 

Το αρχείο .txt που έχει τις λέξεις πώς μπορώ να το εισάγω μέσα στην main και να το συνδέσω με την μέθοδο?

 

>
BufferedReader MyInput = null;

try {
MyInput = new BufferedReader(new FileReader(FILE_NAME));
System.out.println(MyInput.readLine());
MyInput.close();
}
catch (IOException e) {
System.out.println("error");
}

Δημοσ.

Δεν είναι τόσο απλό αυτό που θέλεις να κάνεις, καλύτερα να χρησιμοποιήσεις μια έτοιμη βιβλιοθήκη. Δες εδώ:

 

http://en.wikipedia.org/wiki/Spell_checker

 

http://jazzy.sourceforge.net/

 

 

 

Sent from my iPad using Insomnia

συμφωνω, γιατι μονο το space δεν ειναι απολυτα εγκυρο. Πχ μπορει ο χρηστης να κανει paste πολλες λεξεις, οποτε αυτες δεν θα ελεγθουν

Δημοσ.

συμφωνω, γιατι μονο το space δεν ειναι απολυτα εγκυρο. Πχ μπορει ο χρηστης να κανει paste πολλες λεξεις, οποτε αυτες δεν θα ελεγθουν

 

Μπορεί κατά την επικόλληση να εκτελείται αλγόριθμος που ελέγχει το κείμενο αυτό.

Δημοσ.

Ένας spell checker (corrector) απαιτεί πρώτα θεωρία, μετά υλοποίηση και στο τέλος performance tuning( κάτι που θα σε οδηγήσει στην χρήση νέου αλγόριθμου/δομής ).

 

Μάλλον η ιδανικότερη λύση είναι bk-trees με χρήση Damerau–Levenshtein_distance.

 

Ενας spell checker (verifier) είναι πιο απλός με ενα απλό brute force και ίσως μια δενδρική δομή για γρηγορότερα αποτελέσματα.

Δημοσ.

Δεν είναι τόσο απλό αυτό που θέλεις να κάνεις, καλύτερα να χρησιμοποιήσεις μια έτοιμη βιβλιοθήκη. Δες εδώ:

 

http://en.wikipedia.org/wiki/Spell_checker

 

http://jazzy.sourceforge.net/

 

 

 

Sent from my iPad using Insomnia

Είναι εύκολο να συνδέσεις την βιβλιοθήκη με ένα project που έχω δημιουργήσει στο netbeans? Χρειάζεται αλλαγές σε μεταβλητές κτλπ για να λειτουργήσει?

Δημοσ.

Ένας spell checker (corrector) απαιτεί πρώτα θεωρία, μετά υλοποίηση και στο τέλος performance tuning( κάτι που θα σε οδηγήσει στην χρήση νέου αλγόριθμου/δομής ).

 

Μάλλον η ιδανικότερη λύση είναι bk-trees με χρήση Damerau–Levenshtein_distance.

 

Ενας spell checker (verifier) είναι πιο απλός με ενα απλό brute force και ίσως μια δενδρική δομή για γρηγορότερα αποτελέσματα.

 

Σίγουρα θα χρειαστεί άλλη δομή, αλλά για αρχή, για να δει αν δουλεύει αυτό που έφτιαξε, μπορεί να χρησιμοποιήσει ένα txt όπως ανέφερε.

Τώρα για τη θεωρία που λες, δεν ξέρω, εγώ κατάλαβα ότι θέλει να δημιουργήσει κάτι απλό και του πρότεινα έναν εύκολο τρόπο (για μένα τουλάχιστον). Αν θέλει να φτιάξει το Microsoft Word, ας μας το πει για να πάρει ανάλογες απαντήσεις.

Δημοσ.

Σίγουρα θα χρειαστεί άλλη δομή, αλλά για αρχή, για να δει αν δουλεύει αυτό που έφτιαξε, μπορεί να χρησιμοποιήσει ένα txt όπως ανέφερε.

Τώρα για τη θεωρία που λες, δεν ξέρω, εγώ κατάλαβα ότι θέλει να δημιουργήσει κάτι απλό και του πρότεινα έναν εύκολο τρόπο (για μένα τουλάχιστον). Αν θέλει να φτιάξει το Microsoft Word, ας μας το πει για να πάρει ανάλογες απαντήσεις.

 

Ο φίλος ζήτησε να εμφανίζει κάποιες επιλογές για την λάθος λέξη. Ερχόμαστε στην πρώτη περίπτωση δηλαδή. Αν η λέξη δεν υπάρχει στο αρχείο θα μαρκαριστεί ως λάθος αλλά πως θα εμφανίσει της ορθες παραπλήσιες λέξεις? Εκεί είναι η δυσκολία

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...