我想使用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