java drawrect负数_Java Graphics.drawRect方法代碼示例

该博客详细介绍了如何在Java中使用Graphics.drawRect方法绘制负坐标矩形。通过示例代码展示了在选中状态下,如何绘制带有高亮背景和边框的矩形,并在未选中状态下改变颜色进行绘制。同时,讲解了如何计算实际的绘图坐标。
摘要由CSDN通过智能技术生成

import javax.microedition.lcdui.Graphics; //導入方法依賴的package包/類

/**

* Draws the item.

*

* @param g Graphics context.

* @param viewX Top-left x-coordinate of the current view area (grid coordinates, not screen)

* @param viewY Top-left y-coordinate of the current view area (grid coordinates, not screen)

*/

public void paint(Graphics g, int viewX, int viewY){

if (Log.TEST) Log.note("[GridItem#paint]-->");

// Calculate actual drawing coordinates from the view coordinates

int translatedX = x - viewX;

int translatedY = y - viewY;

// First draw the underlying rectangle, and get color for text drawing

if (selected) {

g.setColor(display.getColor(Display.COLOR_HIGHLIGHTED_BACKGROUND));

// Draw highlighted background

g.fillRect(translatedX, translatedY, width, height);

g.setColor(display.getColor(Display.COLOR_HIGHLIGHTED_BORDER));

// Draw border

g.drawRect(translatedX, translatedY, width, height);

// Set color for text drawing

g.setColor(display.getColor(Display.COLOR_HIGHLIGHTED_FOREGROUND));

} else {

//g.setColor(display.getColor(Display.COLOR_BORDER));

//g.setColor(display.getColor(Display.COLOR_HIGHLIGHTED_FOREGROUND));

g.setColor(~display.getColor(Display.COLOR_BACKGROUND));

// Draw border

g.drawRect(translatedX, translatedY, width, height);

// Set color for text drawing

g.setColor(display.getColor(Display.COLOR_FOREGROUND));

}

drawContents(g, translatedX + V_PAD, translatedY + H_PAD,

width - 2 * H_PAD, height - 2 * V_PAD);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值