我在我的項目中使用了paintComponent類,我目前想知道如何從頂部減小矩形的大小,使其向下。從頂部減少填充矩形的高度
這是代碼的一部分:
public Battery(){
super();
firstTime = true;
f = new Font("Helvetica", Font.BOLD, 14);
m = Toolkit.getDefaultToolkit().getFontMetrics(f);
}
public void paintComponent(Graphics g){
if(firstTime){
firstTime = false;
batteryLevel = 1 + this.getHeight();
decr = batteryLevel/20;
}else{
g.setColor(Color.RED);
g.fillRect(1, 0, this.getWidth(), this.getHeight());
g.setColor(Color.GREEN);
g.fillRect(1, 0, this.getWidth(), batteryLevel);
g.setColor(Color.BLACK);
g.setFont(f);
g.drawString("TEST", (getWidth() - m.stringWidth("TEST"))/2 , this.getHeight()/2);
}
}
public void decreaseBatteryLevel(){
batteryLevel -= decr;
this.repaint();
}
PS。對不起,如果我做錯了,我是這個論壇的新手。
對不起,但我實際上需要矩形下降,而不是向上上升。 –
對不起,誤解了。一個評論:else部分中的代碼應該始終執行,也是第一次;把它帶到if語句之外。 –