2.7 Controale pentru manipularea textului Flashcards
Exista vreo metoda de a prelua dintr-un JTextField doar o anumita secventa de text ?
Da, folosind clasa Document din care se poate prelua
doar o parte din text folosind un index de inceput si unul de sfarsit. Ex 0, tf.getLength(); sau 2, 5;
Cum se poate selecta programabil o anumita parte de text dintr-un JTextField sau JTextArea?
tf. setSelectionStart(index);
tf. setSelectionEnd(index);
Cu ce metoda se poate seta culoarea selectiei textului unui control textual ?
setSelectionColor(Color.red);
Cu ce metoda se poate seta culoarea textului selectiei unui control textual ?
setSelectionTextColor(Color.White);
Cum se poate prelua cursorul dintr-un control textual?
Cum se poate seta cat de des sa clipeasca cursorul ?
Cu ce metode se poate prelua si seta pozitia curenta a cursorului ?
Caret c = tf.getCaret();
c. setBlinkRate(miliseconds);
c. getDot(); / c.setDot();
Adaugati un ascultator care va printa in output pozitia actuala a cursorului.
tf.getCaret().addChangeListener((ChangeEvent e) -> {
Caret c = (Caret) e.getSource();
System.out.println(c.getDot());
});
Care este metoda care va lipi continutul textului din clipboard
Care este metoda care selecteaza tot textul controlului ?
Care este metoda care copiaza textul selectat al controlului ?
tf. paste();
tf. selectAll();
tf. copy();
Creati doua JTextFields si un buton.
Atunci cand se apasa pe buton, continutul primului JTextField va fi copiat pe al doilea JTextField
JTextField tf = new JTextField(20); JTextField tf2 = new JTextField(20); JButton b = new JButton();
b.addActionListener((e) -> { tf.selectAll(); tf.copy(); tf2.paste(); });
Scrieti continutul unui textfield intr-un fisier la apasarea unui buton.
b.addActionListener((e) -> {
tf.write(new FileWriter("text.txt")); });
Cititi textul unui fisier si la apasarea unui buton acesta sa fie copiat intr-un JTextField.
tf.read(new FileReader(“text.txt”), tf.getDocument());
Cum se poate seta dimensiunea unui JTextField si al unui JTextArea ?
Dimensiunea unui JTextField se poate seta doar pe orizontala folosind metoda tf.setColums(20);
JTextArea se poate seta si pe verticala folosind metoda
tf.setRows(20);