swing:text_fields

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
swing:text_fields [2015/05/10 16:43]
gthanos
swing:text_fields [2015/05/10 17:24]
gthanos [Text Fields, Text Areas & Scroll Panes (Scroll Bars)]
Line 1: Line 1:
-====== Text Fields, Text Areas & Scroll Panes ======+====== Text Fields, Text Areas & Scroll Panes (Scroll Bars) ======
  
 <WRAP info 70% round center> <WRAP info 70% round center>
Line 5: Line 5:
 </​WRAP>​ </​WRAP>​
  
-Ένα text field (υλοποιείται από την κλάση [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JTextField.html|JTextField]]) είναι ένα πεδίο κειμένου,​ στο οποίο ο χρήστης μπορεί να καταχωρήσει κείμενο. Το text field καταλαμβάνει μόνο μία γραμμή και εκτείνεται σε συγκεκριμένο εύρος χαρακτήρων. Το περιεχόμενο όμως που μπορεί να γραφεί μέσα στο text field μπορεί να είναι πολύ μεγαλύτερο από το εύρος χαρακτήρων το οποίο καταλαμβάνει και είναι ορατό ή μπορεί να περιέχει και κείμενο πολλών γραμμών. Ένα text field ορίζεται όπως παρακάτω+Ένα text field (υλοποιείται από την κλάση [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JTextField.html|javax.swing.JTextField]]) είναι ένα πεδίο κειμένου,​ στο οποίο ο χρήστης μπορεί να καταχωρήσει κείμενο. Το text field καταλαμβάνει μόνο μία γραμμή και εκτείνεται σε συγκεκριμένο εύρος χαρακτήρων. Το περιεχόμενο όμως που μπορεί να γραφεί μέσα στο text field μπορεί να είναι πολύ μεγαλύτερο από το εύρος χαρακτήρων το οποίο καταλαμβάνει και είναι ορατό ή μπορεί να περιέχει και κείμενο πολλών γραμμών. Ένα text field ορίζεται όπως παρακάτω
  
 <code java> <code java>
Line 16: Line 16:
 Οι παραπάνω ορισμοί σημαίνουν τα εξής: Οι παραπάνω ορισμοί σημαίνουν τα εξής:
   - Δημιουργούμε ένα text field στο οποίο θα πρέπει να είναι ορατοί τουλάχιστον 20 χαρακτήρες (μπορεί να είναι και περισσότεροι).   - Δημιουργούμε ένα text field στο οποίο θα πρέπει να είναι ορατοί τουλάχιστον 20 χαρακτήρες (μπορεί να είναι και περισσότεροι).
-  - Ο 2ος κατασκευαστής δημιουργεί ​ένα text field που περιέχει το String "​Default text!"​.+  - Ο 2ος κατασκευαστής δημιουργεί ​το παραπάνω ​text field που περιέχει το String ​**"​Default text!"**. 
 + 
 +Εκτός του component JTextField υπάρχει και το component [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JPasswordField.html|javax.swing.JPasswordField]] που χρησιμοποιείται για καταχώρηση //​passwords//​. Η διαφορά με το JTextField είναι ότι αντί για την εμφάνιση των καταχωρούμενων χαρακτήρων εμφανίζονται τελείες πράγμα που κάνουν αδύνατη την ανάγνωση του περιεχομένου με γυμνό μάτι.
  
 Σε αναλογία με το text field, ένα text area (υλοποιείται από την κλάση [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JTextArea.html|JTextArea]]) είναι ένα text field το οποίο καταλαμβάνει πολλαπλές γραμμές. Ένα text area ορίζεται ως εξής: Σε αναλογία με το text field, ένα text area (υλοποιείται από την κλάση [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JTextArea.html|JTextArea]]) είναι ένα text field το οποίο καταλαμβάνει πολλαπλές γραμμές. Ένα text area ορίζεται ως εξής:
Line 23: Line 25:
 int NUMBER_OF_CHAR = 20; int NUMBER_OF_CHAR = 20;
 int NUMBER_OF_ROWS = 5; int NUMBER_OF_ROWS = 5;
-JTextArea = new JTextArea(NUMBER_OF_ROWS,​ NUMBER_OF_CHAR);​+JTextArea ​textArea ​= new JTextArea(NUMBER_OF_ROWS,​ NUMBER_OF_CHAR);​
 OR OR
-JTextArea = new JTextArea("​Default text", NUMBER_OF_ROWS,​ NUMBER_OF_CHAR);​+JTextArea ​textArea ​= new JTextArea("​Default text", NUMBER_OF_ROWS,​ NUMBER_OF_CHAR);​
 </​code>​ </​code>​
  
Line 101: Line 103:
 </​code>​ </​code>​
  
-===== Scroll Panes =====+===== Scroll Panes (Scroll Bars) ===== 
 + 
 +Όταν ορίζετε ένα text area ορίζετε ένα ελάχιστο εύρος γραμμών και στηλών στις οποίες εκτείνεται το συγκεκριμένο text area, π.χ.  
 +<code java> 
 +JTextArea textArea = new JTextArea(NUMBER_OF_ROWS,​ NUMBER_OF_CHAR);​ 
 +</​code>​ 
 +Ο χρήστης μπορεί να εισάγει κείμενο που εκτείνεται έξω από τα παραπάνω όρια. Εάν δεν έχετε ορίσει την ιδιότητα της αναδίπλωσης γραμμών στο text area, το κείμενο που βρίσκεται εκτός των παραπάνω ορίων μπορεί να φανεί μόνο αν ορίσετε ​ scroll bars, ώστε να μπορείτε να πλοηγήστε οριζόντια και κατακόρυφα έξω από τα παραπάνω όρια.  
 + 
 +Scroll bars ορίζονται από το component [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JScrollPane.html|javax.swing.JScrollPane]]. Μπορείτε να φανταστείτε τα scroll bars σαν ένα κινούμενο παράθυρο πάνω από το συνολικό κείμενο που περιέχεται στο text area ή σε οποιοδήποτε άλλο component. Κάθε φορά που μετακινείτε ένα scroll bar μετακινείτε το παράθυρο ορατότητας πάνω από το component. Στην πραγματικότητα ένα text area με scroll bars είναι ένα παράθυρο ορατότητας (JScrollPane) πάνω από το text area, όπως φαίνεται στο παρακάτω σχήμα, όπου το παράθυρο ορατότητας αναφέρεται ως //View port//. 
 + 
 +{{ :​swing:​jscrollpane.png |}} 
 + 
 +Για να ορίσετε ένα text area μέσα σε ένα JScrollPane απαιτείται μία δήλωση της μορφής 
 +<code java> 
 +JScrollPane scolledTextArea = new JScrollPane(textArea);​ 
 +</​code>​ 
 + 
 +Σε κάθε JScrollPane object ορίζεται την συμπεριφορά του οριζόντιου ScrollBar από την παρακάτω μέθοδο οι οποία λαμβάνει ως ορίσματα τις τιμές που ακολουθούν. 
 +<code java> 
 +public void setHorizontalScrollBarPolicy(int policy)  
 + 
 +// επιτρεπόμενες τιμές 
 +JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS 
 +JScrollPane.HORIZONTAL_SCROLLBAR_NEVER 
 +JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED 
 +</​code>​ 
 + 
 +Αντίστοιχα για το κάθετο ScrollBar  
 +<code java> 
 +public void setVerticalScrollBarPolicy(int policy)  
 + 
 +// επιτρεπόμενες τιμές 
 +JScrollPane.VERTICAL_SCROLLBAR_ALWAYS 
 +JScrollPane.VERTICAL_SCROLLBAR_NEVER 
 +JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED 
 +</​code>​
  
  
 + 
  
  
swing/text_fields.txt · Last modified: 2016/02/26 11:15 (external edit)