public class PhoneApplet extends JApplet{
JTextArea lcdcontent = new JTextArea();
JLabel starLabel=new JLabel();
.....public void paint(Graphics g){starLabel.setIcon(new ImageIcon(getClass().getResource("images/star.gif")));
starLabel.setBounds(new Rectangle(163,445,66,48));
starLabel.addMouseListener(new buttonStarAdapter(this));lcdcontent.setBounds(new Rectangle(180,58,298,60));
lcdcontent.setOpaque(false);
lcdcontent.setFont(new Font("SansSerif",Font.BOLD,19));this.getContentPane().add(lcdcontent, null);
this.getContentPane().add(starLabel, null);
}
....
}class buttonStarAdapter extends MouseAdapter{
PhoneApplet phoneApplet;
public buttonStarAdapter(PhoneApplet phoneApplet){
this.phoneApplet=phoneApplet;
}
public void mouseClicked(MouseEvent me){
if(phoneApplet.isShowClock){
phoneApplet.isShowClock=false;
phoneApplet.lcdcontent.setText("*");
}else{
phoneApplet.lcdcontent.append("*");
}

}
}现在问题是,每次点击*按钮后, 会在JTextArea里显示两个*
请问这是为何?

解决方案 »

  1.   

    因为你phoneApplet.lcdcontent.append("*");是每次都会在原来的text上加个“*”啊,如果你每次只想显示一个“*”,那就在上面那句加个phoneApplet.lcdcontent.settext("");
      

  2.   

    bevin, 请问怎样清空啊,具体怎么作啊?
      

  3.   

    选中并清空:
        jTextArea1.select(0,jTextArea1.getText().length());
        jTextArea1.setText("");
      

  4.   

    我是想让它在原来的text上增加一个"*", 但是现在他每次增加两个!