Java 画玻璃按钮

Java 画玻璃按钮,java,button,java-me,drawing,midp,Java,Button,Java Me,Drawing,Midp,我将在JavaME中绘制一些玻璃状的按钮(针对使用MIDP2.0的设备)。 例如: 实际上我需要在JavaMe中实现渐变和斜面浮雕效果,您对如何实现这一点有什么意见或“指导方针”吗 编辑:现在我知道如何绘制渐变背景,但这还不够。 有没有可能在JavaMe中画出这样的玻璃按钮? 我曾经使用过C#,我可以在那里画出这些玻璃状的按钮,但我正在努力研究如何在JavaMe中模拟类似于这些按钮的东西,或者至少是它们附近的东西,请注意,我正在寻找一个好的指导和帮助,以便向前迈进 我需要提供更多信息吗?如果有

我将在JavaME中绘制一些玻璃状的按钮(针对使用MIDP2.0的设备)。 例如:

实际上我需要在JavaMe中实现渐变和斜面浮雕效果,您对如何实现这一点有什么意见或“指导方针”吗

编辑:现在我知道如何绘制渐变背景,但这还不够。 有没有可能在JavaMe中画出这样的玻璃按钮? 我曾经使用过C#,我可以在那里画出这些玻璃状的按钮,但我正在努力研究如何在JavaMe中模拟类似于这些按钮的东西,或者至少是它们附近的东西,请注意,我正在寻找一个好的指导和帮助,以便向前迈进

我需要提供更多信息吗?如果有,请告诉我。
提前感谢。

你不能在我身上这样做,因为它对用户界面没有如此深远的影响

获得像灰色一样有效果的图像,并使用

btn.getStyle().setBgTransparency(100) // from 0-255
注意:您必须使用已经是半透明的图像,否则透明度将无法正常工作

我不能推荐你使用画布

我建议你使用

它有很多你需要的特效广告,比如

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

它也有不同的布局

您可以使用框架开发JavaME(MIDP2.0)应用程序。它是java me应用程序的良好GUI框架。在这里,您可以使用ResourceEdit手动创建主题。有关更多信息,请参阅此页和

您可以使用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);
它将如下所示:


天哪!我不敢相信有人对我的问题悬赏!非常感谢您,我仍在解决这个问题,非常感谢您的帮助。您想在画布或窗体上绘制这样的按钮吗?按钮的高度是恒定的吗?(或者至少有几个预定义的高度)@BlaXpirit:按钮有几个预定义的大小。考虑一个窗体,它有一些与用户交互的按钮。提前谢谢。谢谢,这个框架给我的最终项目增加了多少尺寸?它支持MIDP2.0吗?是的,它也支持MIDP2.0和2.1,它只需要花费700kb,你还可以获取源代码并删除未使用的类。我同意Nirmal的说法,LWUIT非常棒。我曾经做过一个项目,它看起来很棒。谢谢,现在我想找一个关于如何使用LWUIT完成任务的指南。你有什么建议?例如,1)创建透明渐变背景2)绘制斜角边框,3)?从本教程开始:,创建演示应用程序,你会有主意的,太简单了。J2ME标准SDK中是否存在“Graphics2D”和“GradientPaint”类?还是我必须安装单独的软件包?这些类是否与MIDP2.0兼容?是的。不要使用图形,只需使用Graphics2D类即可。Graphics只是graphics2d的精简版本。您可以从java.awt.*获得为此所需的所有导入;包括渐变漆。您可以使用渐变绘制设置来获得您想要的按钮外观。绘制完渐变后,请确保重置绘制(setPaint(color.black);)。