几天前,在另一个线程上,我问了一个问题,即如何将“#Grades As : 5”等输出表示为输出“#Grade As : AAAA”。换句话说,我想将 5 个 A 的数量表示为一串重复五次的 A。用户 Sam Jones 非常有帮助地向我指出我应该使用“for”循环:
String gradeLetterA = "A";
for (int i=0; i<tempAs; i++)
longStringA += gradeLetterA;
现在,让我向您展示我的 actionPerformed 方法:
if (e.getSource() == clearScreen) {
checkAndRecordData();
Graphics g = chartPanel.getGraphics();
g.setColor(Color.white);
g.fillRect(20,20,410,52);
g.setColor(Color.black);
g.drawRect(20,20,410,52);
g.setColor( Color.black );
g.drawString( "", chartLeftXA, chartTopYA );
if (e.getSource() == displayLongString) {
Graphics g = chartPanel.getGraphics();
g.setColor(Color.white);
g.fillRect(20,20,410,52);
g.setColor(Color.black);
g.drawRect(20,20,410,52);
g.setColor( Color.black );
g.drawString( "Grade As: " + longStringA, 100, 50 );
我对你们这些好人的问题是:当我点击一个 JButton 按钮来刷新“AAAAA”的显示时,屏幕会变成空白,就像它应该的那样。但是,当我然后选择输入(例如)6 个 A 的值时,显示器不会给我 6 个字母 A,而是 11 个字母 A,即。啊啊啊啊。换句话说,我的 RESET(或刷新)JButton 只会清除屏幕,但不会擦除之前的值。相反,它将先前的值添加到当前值,当我第二次单击该按钮时,我得到了错误的 A 数。有人可以告诉我应该在 actionPerformed 方法中添加哪一行代码以使其正确吗?或者这条线是否必须进入创建 GUI 方法?我完全迷路了。任何帮助将不胜感激。