Jtextarea java
Автор Resako Resako задал вопрос в разделе Java
Java, как получить текст по нажатию Enter из объекта класса JTextField, JTextArea и получил лучший ответ
Ответ от
1.
private JTextField field;
public void initGui(){
field=new JtextField("someText");
Action action = new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
System.out.println("do something with " + field.getText());
}
};
field.addActionListener( action ); //теперь по нажатию enter будет вызываться System.out.println("do something with " + field.getText());
}
2.
JTextArea area = new JTextArea("text
must
be
Here!");
int last = area.getLineCount() - 1;
int start = area.getLineStartOffset(last);
int end = area.getLineEndOffset(last);
String lastLine = area.getText().substring(start, end); //Должно выдрать Here!
Для текстового поля добавить слушатель нажатия Enter просто -
название. addActionListener(new ActionListener(ActionEvent e) {
public void run() {
Код для поля.
}
});
Чтобы в таком коде получить текст, нужно написать в моём случае e.getActionCommand();
Зачем добавлять такой слушатель в JTextArea не знаю, лучше привязать кнопку.
Но если очень надо -
НАЗВАНИЕ. addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
ТВОЙ КОД
(Если надо получить строку - НАЗВАНИЕ. getText();)
}
}
});
Чтобы получить последнюю строку из текста текстовой площади -
String a = НАЗВАНИЕ. getText();
a = a.split("
")[a.split("
").length - 1]);
Теперь строка A содержит последнюю строку из поля.