У меня есть JTextArea
, что я хочу, чтобы пользователь вводил адрес человека. Я знаю, что действительный адрес, который вводит пользователь, не будет превышать 5 rows
и 10 columns
. Поэтому я установил его в JTextArea (5,10)
. Таким образом, он отлично работает.Отключение изменения JTextArea при нажатии пользователем Enter
Проблема заключается в том, что если пользователь продолжает нажимать enter
больше, чем 5 раз, область текста начнет изменяться. Я не хочу помещать текстовую область в JScrollPane
, так как текст, который вводит пользователь, не очень похож на прокрутку.
Вопрос: Как мы отключаем JTextArea
изменение размера, когда пользователь нажимает кнопку enter
?
Вот мой код:
public class JTextAreaDemo {
private JFrame frame;
JTextAreaDemo(){
frame= new JFrame();
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new net.miginfocom.swing.MigLayout());
frame.setVisible(true);
frame.setLocationRelativeTo(null);
JLabel label=new JLabel("Address :");
JTextArea address= new JTextArea(5,20);
frame.add(label,"cell 0 0");
frame.add(address, "cell 1 0");
}
public static void main(String [] args){
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
new JTextAreaDemo();
}});
}
}
Поместите его в 'JScrollPane', он изменит размер, потому что он предпочитает размер меняется – MadProgrammer
Вы хотите сказать, что когда пользователь нажимает кнопку ввода в 5-й раз, он будет либо заменен пробелом, либо проигнорирован? – Blip
@MadProgrammer Ну, это работает. Одна вещь. Как мне избежать перемещения курсора на шестую строку/строку, когда пользователь нажимает клавишу ввода? – JWizard