绘图玻璃按钮

时间:2011-05-22 20:19:31

标签: java button java-me drawing midp

我将在java me中绘制某种玻璃状按钮(使用MIDP 2.0定位设备)。 一个例子:  enter image description here

实际上我需要在Java ME中阻止Gradient和Bevel-Emboss效果,你对如何实现这个有什么意见或“指南”吗?

编辑:现在我知道如何绘制渐变背景,但这还不够。 是否可以在Java ME中绘制这样的玻璃按钮? 我和C#一起工作过,我可以在那里画出这些玻璃按钮,但是我在如何模拟Java ME中的这些按钮或者至少接近它们的某些东西上苦苦挣扎,注意我正在寻找一个好的指导和帮助前进。

我是否需要提供更多信息?如果是的话,请告诉我。 在此先感谢。

3 个答案:

答案 0 :(得分:2)

您可以使用LWUIT框架来开发java-me(MIDP 2.0)应用程序。它为java-me应用程序提供了良好的GUI框架。在这里,您可以使用ResourceEdit手动创建主题。有关详细信息,请参阅此discussionLWUIT blog

答案 1 :(得分:2)

您可以使用Alpha渐变颜料来完成此操作。下面是一个例子:

Graphics2D g = (Graphics2D)screen.getGraphics();
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setFont(new Font("Serif", Font.BOLD, 30));
Color c1 = new Color(0,0,0,0);
Color c2 = new Color(0,0,0,100);
GradientPaint gradient = new GradientPaint(10,8,c1,10,40,c2,true);

g.setColor(Color.GREEN);
g.fillRect(0, 0, screen.width, screen.height);
g.setColor(Color.BLACK);
g.setPaint(gradient);
g.fillRoundRect(100, 100, 200, 50, 25, 25);
g.setPaint(Color.BLACK);
g.drawRoundRect(100, 100, 200, 50, 25, 25);
g.drawString("Hello World!", 118, 135);

它看起来像这样:

Button with green background

答案 2 :(得分:1)

yoy不能在我这样做,因为它对UI没有这样的影响力

获取具有类似gredient效果的图像,并使用

使其透明
btn.getStyle().setBgTransparency(100) // from 0-255

注意:您必须使用已经半透明的图像,否则setBgTransparency将无法正常工作

我建议您不要使用画布

我建议你使用LWUIT

它还有更多您需要的效果广告,例如

btnBuzz.getStyle().setBorder(Border.createBevelLowered());

它也有不同的布局