एक JTextArea JTextComponent क्लास का एक सबक्लास है और यह टेक्स्ट प्रदर्शित करने या यूजर को टेक्स्ट दर्ज करने की अनुमति देने के लिए एक मल्टी-लाइन टेक्स्ट कंपोनेंट है। जब हम JTextArea की कार्यक्षमता को इम्प्लीमेंट करने का प्रयास कर रहे होते हैं तो JTextArea CaretListener इंटरफेस उत्पन्न कर सकता है। डिफ़ॉल्ट रूप से, JTextArea क्लास कट, कॉपी और पेस्ट कार्यक्षमता को सपोर्ट करती है, हम JTextArea क्लास के getInputMap().put() मेथड का उपयोग करके कट, कॉपी और पेस्ट की कार्यक्षमता को डिसेबल या टर्न ऑफ भी कर सकते हैं। हम कट के लिए KeyStroke.getKeyStroke("control X"), कॉपी के लिए KeyStroke.getKeyStroke("control C") और पेस्ट के लिए KeyStroke.getKeyStroke("control V") का उपयोग कर सकते हैं।
उदाहरण।
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JTextAreaCutCopyPasteDisableTest extends JFrame {
private JTextArea textArea;
private JButton cut, copy, paste;
private JPanel panel;
public JTextAreaCutCopyPasteDisableTest() {
setTitle("JTextAreaCutCopyPasteDisable Test");
setLayout(new BorderLayout());
panel = new JPanel();
textArea = new JTextArea();
cut = new JButton("Cut");
cut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
textArea.getInputMap().put(KeyStroke.getKeyStroke("control X"), "none");// disable cut
}
});
panel.add(cut);
copy = new JButton("Copy");
copy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
textArea.getInputMap().put(KeyStroke.getKeyStroke("control C"), "none"); // disable copy
}
});
panel.add(copy);
paste = new JButton("Paste");
paste.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
textArea.getInputMap().put(KeyStroke.getKeyStroke("control V"), "none"); // disable paste
}
});
panel.add(paste);
add(panel, BorderLayout.NORTH);
add(new JScrollPane(textArea), BorderLayout.CENTER);
setSize(400, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String []args) {
new JTextAreaCutCopyPasteDisableTest();
}
}
आउटपुट
