我想使用Java Swing删除文本区域中的选定文本,但我找不到这样做的方法。在某个时候,我想到了使用textArea.setText("");
,但是当我这样做时,它清除了所有的东西。有人可以帮助我吗?只删除文本区域中的选定文本
这里是我到目前为止已经编写的代码,
public class DeleteTest extends JFrame implements ActionListener {
JPanel panel;
JTextArea textArea;
JButton button;
public DeleteTest() {
setVisible(true);
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
panel = new JPanel();
panel.setBackground(getBackground().BLACK);
textArea = new JTextArea(300, 300);
button = new JButton("clear");
button.addActionListener(this);
panel.add(button);
add(textArea, BorderLayout.CENTER);
add(panel, BorderLayout.SOUTH);
}
@Override
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource()==button){
String selected=textArea.getSelectedText();
if(selected!=""){
}
}
}
public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
DeleteTest de = new DeleteTest();
}
};
SwingUtilities.invokeLater(r);
}
}
这个工程,非常感谢你帮助我...... :-) – 2011-03-10 04:45:51
但是,如果所选文本的一个版本在textarea中出现多次,这将失败。 – George 2011-03-10 04:47:29
@George:是的。但它可以通过一些更多的努力来处理。根据我认为OP没有这种情况。 – 2011-03-10 04:52:18