我要在JTextArea上制作剪切和替换方法。我有复制和粘贴的代码,我想我可以使用它,除了删除JTA中标记的文本。
切割和替换方法的代码代码如何?
复制代码如下所示:
public void copy(){
int start=ta.getSelectionStart();
int end=ta.getSelectionEnd();
String s=ta.getText();
aString=s.substring(start,end);
System.out.println(aString);
}
粘贴代码如下所示:
public void paste(){
int start=ta.getSelectionStart();
String startText=ta.getText().substring(0, start);
String endText=ta.getText().substring(start);
String res=startText+clipBoard+endText;
ta.setText(res);
}
基本上:如何删除JTextArea中的标记文本?或者有更好的方法可以做到这一点吗?
答案 0 :(得分:4)
JTextArea默认使用关键字组合(Ctrl + C等)支持剪切/复制/粘贴。如果您想进行自定义调用(如菜单操作),JTextComponent本身会提供可以重复使用的剪切/复制/粘贴方法。
答案 1 :(得分:2)
我认为这两种方法都是混合的,没有 clipBoard 连接。
public void cut(){
int start=ta.getSelectionStart();
int end=ta.getSelectionEnd();
String startText=ta.getText().substring(0, start);
String endText=ta.getText().substring(end, ta.getText.length());
ta.setText(startText+endText);
}
但是,为什么不使用已经继承并可用的JTextComponent的 cut , copy 和 paste 方法。
答案 2 :(得分:0)
除了amit.dev的答案之外,您还应该能够设置自定义键映射以使用您想要的任何键...但如果这样做,您将失去一些平台独立性,因为不同的平台具有不同的键对于这些操作。