我自已用java写了一个小系统,但是在输出时TextArea中的文本不能复制是什么问题?
最多只能复制五个字符
一下是部分代码:
//声明部分
JTextArea outputText =new JTextArea();
outputText.setLocation(200,350);
outputText.setFont(new Font("",1,15));
outputText.setLineWrap(true);
outputText.setWrapStyleWord(true);
outputText.setSize(750,200);
add(outputText);
//具体实现部分
class Dicipher
{
//输入密文和密钥,用密钥对密文解密
public static String dicipher(String decipherText,String key)
{int i;
char[] m=new char[1024*8];
char[] k1=new char[1024*8];
char[] m1=new char[1024*8];
String c=decipherText;
//System.out.print("enter the key string:");
String k=key;
//char[] n=new char[1024];
for(i=0;i<c.length();i++)
{
if(c.charAt(i)>='a'&&c.charAt(i)<='z')
m[i]=(char)(c.charAt(i));
if(c.charAt(i)>='A'&&c.charAt(i)<='Z')
m[i]=(char)(c.charAt(i));
}
for(i=0;i<k.length();i++)
{
if(k.charAt(i)>='a'&&k.charAt(i)<='z')
k1[i]=(char)(k.charAt(i)-97);
if(k.charAt(i)>='A'&&k.charAt(i)<='Z')
k1[i]=(char)(k.charAt(i)-65);
}
//解密
for(i=0;i<c.length();i++)
{
if(m[i]>='a'&&m[i]<='z')
m1[i]=(char)((m[i]-97-k1[i%k.length()]+26)%26+97);
if(m[i]>='A'&&m[i]<='Z')
m1[i]=(char)((m[i]-65-k1[i%k.length()]+26)%26+65);
}
String outString;
outString=String.copyValueOf(m1);
return outString;
}
}