Το στοιχείο JTextArea
Το στοίχειο JTextArea
είναι μια περιοχή κειμένου στην οποία ο χρήστης μπορεί να πληκτρολογήσει πολλές γραμμές κειμένου.
Για να προσθέσω ένα αντικείμενο JTextArea
σε ένα παράθυρο ακολουθώ (όπως σχεδόν σε όλα τα στοιχεία) τρία βασικά βήματα. Πρώτα δημιουργώ το αντικείμενο, μετά του δίνω τα χαρακτηριστικά που θέλω να έχει και τέλος το τοποθετώ επάνω στο παράθυρο.
Η θέση του στο παράθυρο εξαρτάται από το Layout του παραθύρου. Στα παραδείγματα που ακολουθούν χρησιμοποιούμε το setLayout(null);
Αυτό σημαίνει ότι όταν τοποθετώ το στοιχείο θα πρέπει να δώσω θέση (συντεταγμένες x και y) και διαστάσεις (πλάτος και ύψος). Αυτό γίνεται με την εντολή setBounds(x, y, width, height);
.
import javax.swing.*; class App extends JFrame { public static void main(String[] args) { App frame = new App(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 200); frame.setTitle("my first application"); frame.setLayout(null); //ορισμός layout frame.setVisible(true); } public App() { //Δημιουργία αντικειμένου JTextArea myTextArea=new JTextArea(); //ορισμός χαρακτηριστικών myTextArea.setLineWrap(true); myTextArea.setBounds(0, 0, 350, 200); //πρόσθεση αντικειμένου στο παράθυρο με την εντολή add. add(myTextArea); } }
package test; import javax.swing.*; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; //needed for reading lines public class Fileinput extends JFrame { public JTextArea myTextArea; public JScrollPane scroll; public static void main(String[] args) { Fileinput frame = new Fileinput(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 200); frame.setTitle("my first application"); frame.setLayout(null); //ορισμός layout frame.setVisible(true); } public Fileinput() { //Δημιουργία αντικειμένων myTextArea = new JTextArea(); scroll = new JScrollPane(myTextArea); //ορισμός χαρακτηριστικών myTextArea.setLineWrap(true); //myTextArea.setBounds(0, 0, 300, 150); scroll.setBounds(0, 0, 300, 150); //πρόσθεση αντικειμένου στο παράθυρο με την εντολή add. add(scroll); openFile(); } private void openFile() { BufferedReader in = null; try { FileReader f = new FileReader("text.txt"); in = new BufferedReader(f); //needs FileReader String L; //Διαβάζει γραμμή - γραμμή while((L=in.readLine())!=null) { //Γράφει μια γραμμή //myTextArea.setText(L); //προσθέτει γραμμές με enter στο τέλος myTextArea.append(L + '\n'); } } catch(IOException e){ System.out.print(e.getMessage()); } finally { try { if(in != null) in.close(); } catch (IOException ex) { System.out.print(ex.getMessage()); } } } }