Jer*_*lan 2 java swing jtextarea
我正在用Java开发一个简单的应用程序,我想知道是否有任何方法可以在光标所在的位置处的textarea(非空)中插入其他文本(在句子中间的某处)点击一些组件.有人可以指导我如何完成它
如果这是一个JTextArea组件,您可以使用该.append
方法将文本添加到文本区域的末尾,或者.insert
将新文本插入特定位置的方法.
如果需要在当前插入位置插入文本,请使用.getCaretPosition方法
textArea.replaceSelection(text);
Run Code Online (Sandbox Code Playgroud)
来自API:
使用给定字符串表示的新内容替换当前选定的内容.如果没有选择,则相当于给定文本的插入
退房:JTextComponent.getCaretPosition()
.
该方法getCaretPosition()
是继承的JTextArea
,您可以使用它来获取光标位置.然后您可以使用JTextArea.insert(String str, int pos)
在该位置插入文本.
样品:
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
final JTextArea jta = new JTextArea("Hello world\nHello world\nHello world");
JButton btn = new JButton("Add");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int pos = jta.getCaretPosition(); //get the cursor position
jta.insert("Some more", pos); //insert your text
}
});
frame.add(jta, BorderLayout.CENTER);
frame.add(btn, BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)