applet网页显示问题!!! 我做了一个applet的小应用程序,我在里输出一字符串,当我在点击一个按钮来改变着这个字符串的时候,页面会把前一个字符串一起显示出来,导致字符串重叠,这个问题该怎么解决呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 显示字符串的是TextArea吗,用它的append功能,或者**.setText(""); 是在paint()里用drawString("",,);显示的。调用update(g)后就会出现这种现象。 在paint前先把前面已存在的清掉。试试repaint 方法最后加一个super.paint() 看看 public void paint(Graphics g) { int flag1[] = new int[8]; for (int i = 0; i < menuNum; i++) { if (menuNumber[i] == allFlag) { g.setColor(new Color(183, 183, 100)); g.setFont(new Font("宋体", 0, 20)); g.drawString(menuName[i], menuX1[i] + 63, menuY1[i] + 120); if (flag[i] == 1) g.drawImage(getImage(getCodeBase(), "image\\100.gif"), menuX1[i] + 18, menuY1[i] + 65, this); else g.drawImage(getImage(getCodeBase(), "image\\101.gif"), menuX1[i] + 18, menuY1[i] + 65, this); for (int j = 0; j < 8; j++) { if (lampFlag[i][j] == 1) { allLampFlag[j] = 1; } // if (lampFlag[i][j] == 0 && i == 29) { // // flag1 = flag1 + 1; // // if(flag1 == 28) // allLampFlag[j] = 0; // } int aa = 0; if (j == 0 || j == 3) aa = 74; if (j == 1 || j == 2) aa = 59; if (j == 4 || j == 7) aa = 115; if (j == 5 || j == 6) aa = 130; if (lampFlag[i][j] == 1) { g.drawImage(getImage(getCodeBase(), "image\\" + (j + 1) + ".gif"), menuX1[i] + 17 + ((j % 4) * 39), menuY1[i] + aa, 40, 35, this); } else { g.drawImage(getImage(getCodeBase(), "image\\" + (((j + 1) * 10) + (j + 1)) + ".gif"), menuX1[i] + 17 + ((j % 4) * 39), menuY1[i] + aa, 40, 35, this); } if (allLampFlag[j] == 1) g.drawImage(getImage(getCodeBase(), "image\\" + (j + 1) + ".gif"), 130 + (j * 80), 350, 40, 35, this); else g.drawImage(getImage(getCodeBase(), "image\\" + (((j + 1) * 10) + (j + 1)) + ".gif"), 130 + (j * 80), 350, 40, 35, this); } g.setColor(new Color(255, 0, 255)); g.setFont(new Font("宋体", 0, 20)); g.drawString("一键关机!!", 350, 335); g.drawString("查看未关设备:", 0, 370); } for (int j = 0; j < 8; j++) { if (lampFlag[i][j] == 0) { flag1[j] = flag1[j] + 1; if (flag1[j] == 29) allLampFlag[j] = 0; } } } g.drawString(str, 95 + (strFlag * 80), 330); }public void update(Graphics g) {// Delay(100); paint(g);// repaint(); }你们看看paint(Graphics g)方法和update(Graphics g)方法就可以了 类中对象的初始化 Thinking in Java第四版《注解》这章的这个程序为什么没有运行结果。 java改错 关于内部类的问题 初学Hibernate的困惑(各位帮帮忙) 有关于properties问题 如何使用STATSVN的库来统计每周每个程序员完成代码行数?? 高手请教!界面的设计? 成功了,但是我却高兴不起来 关于split,看看有没有人懂,呵呵 关于在panel上添加button的问题 读文件并写入数据库问题
int flag1[] = new int[8];
for (int i = 0; i < menuNum; i++) {
if (menuNumber[i] == allFlag) {
g.setColor(new Color(183, 183, 100));
g.setFont(new Font("宋体", 0, 20));
g.drawString(menuName[i], menuX1[i] + 63, menuY1[i] + 120);
if (flag[i] == 1)
g.drawImage(getImage(getCodeBase(), "image\\100.gif"),
menuX1[i] + 18, menuY1[i] + 65, this);
else
g.drawImage(getImage(getCodeBase(), "image\\101.gif"),
menuX1[i] + 18, menuY1[i] + 65, this);
for (int j = 0; j < 8; j++) {
if (lampFlag[i][j] == 1) {
allLampFlag[j] = 1;
}
// if (lampFlag[i][j] == 0 && i == 29) {
// // flag1 = flag1 + 1;
// // if(flag1 == 28)
// allLampFlag[j] = 0;
// }
int aa = 0;
if (j == 0 || j == 3)
aa = 74;
if (j == 1 || j == 2)
aa = 59;
if (j == 4 || j == 7)
aa = 115;
if (j == 5 || j == 6)
aa = 130;
if (lampFlag[i][j] == 1) {
g.drawImage(getImage(getCodeBase(), "image\\" + (j + 1)
+ ".gif"), menuX1[i] + 17 + ((j % 4) * 39),
menuY1[i] + aa, 40, 35, this);
} else {
g.drawImage(getImage(getCodeBase(), "image\\"
+ (((j + 1) * 10) + (j + 1)) + ".gif"),
menuX1[i] + 17 + ((j % 4) * 39),
menuY1[i] + aa, 40, 35, this);
}
if (allLampFlag[j] == 1)
g.drawImage(getImage(getCodeBase(), "image\\" + (j + 1)
+ ".gif"), 130 + (j * 80), 350, 40, 35, this);
else
g.drawImage(getImage(getCodeBase(), "image\\"
+ (((j + 1) * 10) + (j + 1)) + ".gif"),
130 + (j * 80), 350, 40, 35, this);
}
g.setColor(new Color(255, 0, 255));
g.setFont(new Font("宋体", 0, 20));
g.drawString("一键关机!!", 350, 335);
g.drawString("查看未关设备:", 0, 370);
}
for (int j = 0; j < 8; j++) {
if (lampFlag[i][j] == 0) {
flag1[j] = flag1[j] + 1;
if (flag1[j] == 29)
allLampFlag[j] = 0;
}
} }
g.drawString(str, 95 + (strFlag * 80), 330);
}
public void update(Graphics g) {
// Delay(100);
paint(g);
// repaint();
}
你们看看paint(Graphics g)方法和update(Graphics g)方法就可以了