我正在用Java编写一个用于动画的GUI。我完全被一个元素难住了。我有一个名为InputText的2个JTextAreas和一个使用copy J按钮将输入复制到输出区域的OutputText。然后我有一个下一步和上一步按钮,它应该在OutputText区域的框架之间切换。我在这两个按钮之间使用了一个JLabel作为计数器。
我正在尝试做的是使用剪贴板来保持每个“帧”,如果你愿意,在输出JTextArea上,当我翻转通过计数器。并在我向后翻转过计数器后返回文本。这有可能吗?我在网上浏览了多个描述剪贴板用法的链接,但我遇到的例子中没有一个能确切地理解如何做到这一点。
请参考下面的代码:
*注意,我遗漏了一些不重要的元素,我已经知道这些元素是有效的!谢谢!
这是在我的Java文件顶部调用的:
private Clipboard clipbd = getToolkit().getSystemClipboard();
public static final int MAX_COUNT = 10;
//sets maximum for count
public static final int MIN_COUNT = 1;
//sets minimum for count
private int count = 1;
//sets up integer for counter这是在ActionListener中调用的:
public void actionPerformed ( ActionEvent event ) {
boolean status = false;
String OutputText1;
if(event.getSource()== CopyButton){
//get text from InputText
OutputText1 = InputText.getText();
//put text into OutputText field
OutputText.setText(OutputText1);
}//end if for CopyButton
if(event.getSource() == NextButton){
//LabelOutPut.setText("Next");
if (count < MAX_COUNT) {
count++;
}//end if
LabelCounter.setText("" + count);
OutputText.setText("");
}//end if for NextButton
if(event.getSource() == PreviousButton){
//LabelOutPut.setText("Previous");
if(count > MIN_COUNT){
count--;
}//end if
LabelCounter.setText("" + count);
}//end if for PreviousButton发布于 2011-05-03 01:22:19
为什么要使用剪贴板来保存文本。只需使用一个字符串,数据就在您的程序的控制之下。我看不出有什么理由让你的处理过程复杂化。
此外,还要遵循标准的Java命名约定。变量名称不应以大小写字符开头。
LabelCounter ==> labelCounter
发布于 2011-05-03 01:26:56
只有当你想从程序之外的地方复制/粘贴数据时,你才需要SystemClipboard。如果你只需要在你自己的程序中的两个地方之间复制,并且你需要历史记录等等。只需在代码中使用变量(字符串、字符串列表等),并在用户单击按钮时进行更新。Camickr也提到了同样的事情...
https://stackoverflow.com/questions/5860156
复制相似问题