如何在 JTextArea 中限制用户输入?
How to restrict user input in JTextArea?
目前,我有一个文本区域,其中包含一些菜单选项和滚动条,供我添加更多项目时使用。这显示正常,但用户可以在此文本区域中键入并更改菜单的内容。我怎样才能限制他们打字?
import java.awt.*;
import javax.swing.*;
JFrame frame;
frame = new JFrame();
frame.setSize(1000, 900);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JPanel VendingSelection = new JPanel();
VendingSelection.setBounds(0, 0, 984, 865);
frame.getContentPane().add(VendingSelection);
VendingSelection.setLayout(null);
JTextArea txtArea = new JTextArea();
txtArea.setText("Hamburger,5.00,6\n"
+ "Fries,2.25,7\n"
+ "Hotdog,3,10");
VendingSelection.add(txtArea);
JScrollPane scroll = new JScrollPane(txtArea);
scroll.setBounds(534, 89, 334, 654);
VendingSelection.add(scroll);
要使 JTextArea 不可编辑,请调用 setEditable() 方法并传递一个假值作为参数。
使用setEditable(boolean)方法:
JTextArea txtArea = new JTextArea();
txtArea.setText("Hamburger,5.00,6\n"
+ "Fries,2.25,7\n"
+ "Hotdog,3,10");
txtArea.setEditable(false);
目前,我有一个文本区域,其中包含一些菜单选项和滚动条,供我添加更多项目时使用。这显示正常,但用户可以在此文本区域中键入并更改菜单的内容。我怎样才能限制他们打字?
import java.awt.*;
import javax.swing.*;
JFrame frame;
frame = new JFrame();
frame.setSize(1000, 900);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JPanel VendingSelection = new JPanel();
VendingSelection.setBounds(0, 0, 984, 865);
frame.getContentPane().add(VendingSelection);
VendingSelection.setLayout(null);
JTextArea txtArea = new JTextArea();
txtArea.setText("Hamburger,5.00,6\n"
+ "Fries,2.25,7\n"
+ "Hotdog,3,10");
VendingSelection.add(txtArea);
JScrollPane scroll = new JScrollPane(txtArea);
scroll.setBounds(534, 89, 334, 654);
VendingSelection.add(scroll);
要使 JTextArea 不可编辑,请调用 setEditable() 方法并传递一个假值作为参数。
使用setEditable(boolean)方法:
JTextArea txtArea = new JTextArea();
txtArea.setText("Hamburger,5.00,6\n"
+ "Fries,2.25,7\n"
+ "Hotdog,3,10");
txtArea.setEditable(false);