将canvas创建高级菜单(4)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-18 11:34 点击:

    | g.BOTTOM); 
  canvas.flushGraphics(); 
  // draw menu options 
  if (menuOptions != null) { 
   //确定菜单的最大宽度、最大高度 
   int menuMaxWidth = 0; 
   int menuMaxHeight = 0; 
   int currentWidth = 0; 
   for (int i = 0; i < menuOptions.length; i++) { 
    currentWidth = font.stringWidth(menuOptions[i]); 
    if (currentWidth > menuMaxWidth) { 
     menuMaxWidth = currentWidth; 
    } 
    menuMaxHeight += fontHeight + padding; 
   } 
   menuMaxWidth += 6 * padding; 
   g.setColor(bgColor); 
   g.fillRect(0, // x 
     height - fontHeight - 2 * padding - menuMaxHeight, // y 
     menuMaxWidth, menuMaxHeight); 
 
 
   g.setFont(font); 
   int menuOptionX = padding; 
   int menuOptionY = height - fontHeight - 2 * padding - menuMaxHeight 
     + padding; 
    for(int i=0; i<=menuOptions.length; i++) { 
     g.setColor(highLight); 
     int lineOptionY= height-fontHeight - 2 * padding- menuMaxHeight+i*(fontHeight + padding); 
              g.drawLine(0, lineOptionY, 
                menuMaxWidth-1, lineOptionY); 
          } 
   for (int i = 0; i < menuOptions.length; i++) { 
    if (i != selectedOptionIndex) { 
     // draw unselected menu option 
     g.setColor(defaultFontColor); // black 
     g.drawString(menuOptions[i], menuOptionX, menuOptionY, g.LEFT 
       | g.TOP); 
    } 
    else { 
     // draw selected menu option 
     g.setColor(highLight); 
     int highOptionY=height - fontHeight - 2 * padding - menuMaxHeight+i*(fontHeight + padding); 
     g.fillRect(0,highOptionY,menuMaxWidth,fontHeight + padding); 
     g.setColor(selectedFontColor); 
     g.drawString(menuOptions[i], menuOptionX, menuOptionY, g.LEFT 
       | g.TOP); 
      
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Java编程语言的八大优点
  • JVM对象生命周期详细介绍
  • Java平台上的CRM系统
  • Java 算数测试小程序
  • Command(命令模式)
  • Java环境 使用Resin在NT环境下配置JSP环境
  • Java 一个简单的画图程序
  • Java 日历的小程序
  • Java 统计代码的小工具
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1