绘制自定义组件

2024-02-12

这是两个问题:
1) 是最重要的paint的成员Component使用代号为 1 的简单 2D 图形游戏的最佳方法是什么?或者我什至不应该尝试它?
2)为什么下面的代码会画出我的Component只是立即删除它?

我像这样初始化我的组件:

protected void StartGame()
{
    final Component newC = new PaintedComponent();

    Container mv = findContainerMainVisual();

    mv.addComponent(newC);
    mv.setShouldCalcPreferredSize(true);
    mv.animateLayout(200);
}

然后该组件覆盖paint成员函数如下:

public class PaintedComponent extends Component {
    private int nextColour;

    public PaintedComponent() {
        super();
        setSize(new Dimension(200,200));
        nextColour = 0x8f8f8f;
    }


    @Override
    public void paint(Graphics g) {
        super.paint(g); // I've tried without this, but it's the same
        g.setColor(0xffffff);
        g.fillRadialGradient(0xffffff, nextColour, 0,0,this.getWidth(), this.getHeight());
    }
}

查看扑克演示 http://www.codenameone.com/3/post/2013/08/codename-one-article-in-sdj.html在最新一批演示中可以看到的 Codename One 中,它采用了一种非常不同的方法,尽管覆盖油漆也应该可以正常工作。

组件未显示的原因是,当 animateLayout() 方法验证屏幕时,其大小为 0。您应该将其放置在边框布局的中心(以占用所有可用空间并禁用滚动)或重写 calcPreferredSize() 以返回合理的大小。

我建议避免径向渐变,因为它们在某些平台上真的很慢。看this http://www.codenameone.com/how-do-i---improve-application-performance-or-track-down-performance-issues.html关于性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘制自定义组件 的相关文章

  • 错误:警告:从空值创建默认对象

    我第一次发帖 我希望有人能帮助我解决周三出现在我的网站上的这个错误 我不知道如何纠正它 因为我从未接触过 php 文件 如果我能得到一些帮助 我将非常感激 出现错误的网站位于页面顶部 http www inkedkoidesigns ca

随机推荐

  • 如何安装 QtWebKit 插件

    我正在运行 Qt 4 5 商业快照 并希望在我的应用程序中使用我下载的插件 它是一个 so 文件 QWebView 我需要放置此文件的特定位置吗 我可以使用QWebPluginFactory 我假设这里的插件是 NPAPI 插件 例如 Fl
  • 无法创建 SSL/TLS 安全通道 - 问题可能出在代理服务器上吗?

    我有一个 C 应用程序 它调用使用证书进行身份验证的 Web 服务方法 该代码有效 因为当它安装在服务器 A 没有代理 上时 它会进行身份验证 当我在客户端站点的服务器 B 上安装代码时 它安装在代理后面 我确实尝试了几乎所有方法 但我不断
  • 为什么 List 不实现 IOrderedEnumerable

    我想使用有序枚举 并使用接口作为返回类型而不是具体类型 我需要返回一组有序的对象 但是 当使用IList
  • 如果键不存在,C# Dictionary 查找会发生什么情况?

    我尝试检查 null 但编译器警告这种情况永远不会发生 我应该寻找什么 假设您想获取键的值does存在 使用Dictionary
  • 如何使用 beautifulsoup 检查字符串是否存在

    您好 我正在尝试编写一个程序来抓取 URL 如果抓取数据包含特定字符串 请执行某些操作 我如何使用 beautiful soup 来实现此目的 import requests from bs4 import BeautifulSoup da
  • $(...).function 不是函数 jQuery

    我知道这个问题已经在之前的帖子中发布过 但没有任何帮助 这让我发疯 更重要的是我确信答案非常简单 但我对 javascript 真的很陌生 我正在尝试从那里集成这个 raptor konami code http zurb com play
  • WooCommerce 以编程方式创建订单并重定向到付款

    对于 WooCommerce 我正在寻找一种以编程方式创建订单的解决方案 我的网站只有 1 个带有一些字段的主页 来订购 使用复选框添加产品后 我想创建订单并重定向到付款方式 有了这个答案 创建订单就差不多完成了 但是我如何开始付款呢 Wo
  • 不变量和验证规则有什么区别?

    我经常看到这个词不变量在DDD中 Here https msdn microsoft com en us magazine hh205755 aspx迪诺 埃斯波西托谈到了这一点 如果我查看 NET 库 我会看到验证属性 https msd
  • R 跨多个页面的网页抓取

    我正在开发一个网络抓取程序来搜索特定的葡萄酒并返回该品种的当地葡萄酒列表 我遇到的问题是多页结果 下面的代码是我正在使用的基本示例 url2 lt http www winemag com s washington merlot searc
  • 将 JTextArea 更改为 JScrollPane 导致其不可见

    我在 JScrollPanes 和 JTextArea 对象以及如何让它们一起工作方面遇到问题 如果我只是将 JTextArea 添加到我的 JPanel 中 它就可以正常工作并显示在我指定的位置 但是 如果我将 contentPane a
  • 将 Pandas 对象与常规 Python 对象一起存储在 HDF5 中

    熊猫有一个不错的界面 http pandas pydata org pandas docs dev io html有助于将 Dataframes 和 Series 等内容存储在 HDF5 中 random matrix np random
  • LabelEncoder:类型错误:“float”和“str”实例之间不支持“>”

    即使处理缺失值 我也面临多个变量的错误 例如 le preprocessing LabelEncoder categorical list df select dtypes include object columns values for
  • 在 Play2 / Scala 中从内存中的 MultipartFormData 提取文件

    我目前正在 Play2 Scala 中使用以下内容 使用 FileUploader Javascript 实用程序将文件上传到我的服务器 def fileUploader Action parse multipartFormData req
  • 如何在 R 中创建具有自定义分位数的箱线图?

    我现在正在处理一些数据 我想制作一个箱线图 显示最小值 2 5 25 50 70 75 97 5 和最大值 箱线图还应该有一个图例 显示不同颜色的线条来代表每个分位数 有什么办法可以做到这一点吗 谢谢你的帮助 set seed 123 My
  • Azure DevOps:跨存储库拉取请求?

    我不确定人们是否通常在同一存储库中维护生产分支和其他开发 开发人员特定分支 但我希望拥有单独的仅生产存储库 现在 在这种情况下 我如何不断更新生产存储库 分支中的代码 如果是同一个存储库 那么我可以跨分支创建拉取请求 并使分支 代码保持最新
  • 如何以编程方式在 sitecore 中设置 Treelist 的值

    我有一个职位描述页面 我正在以编程方式向其添加值 其中一个字段是 Office Locations 数据类型为 Treelist 如何将值添加到树列表以便我可以设置办公位置 Sitecore Treelist以管道分隔形式存储所选项目的 i
  • 使用部署槽部署Azure Functions时如何避免主机重启?

    我将管道配置为对 Azure Functions 进行零停机时间部署 为此 我采取了以下步骤 创建槽 部署到插槽 开始交换预览 完成交换 我对此过程的理解是 所有重新启动都应该仅在预览槽上发生 因此只有 JobHost 应该重新启动 并且这
  • 使用 JPA 和 Hibernate 注册 SQL 函数

    我想知道最好的方法是什么使用 JPA Hibernate 注册自定义 SQL 函数 我是否必须扩展 MysqlInnodb 方言还是有更好的方法 任何人都可以提供代码示例和相关文档的指针吗 您可能会阅读一些文章 告诉您通过扩展 Hibern
  • 使用keras加载模型并为其参数分配新值

    我正在尝试使用 keras 存储模型 然后加载它以重新训练 我的问题是加载模型时如何将学习率设置为新值 这是我的代码 Save a model model Sequential model add Dense 64 kernel initi
  • 绘制自定义组件

    这是两个问题 1 是最重要的paint的成员Component使用代号为 1 的简单 2D 图形游戏的最佳方法是什么 或者我什至不应该尝试它 2 为什么下面的代码会画出我的Component只是立即删除它 我像这样初始化我的组件 prote