开发者

Drawing Glassy Buttons

开发者 https://www.devze.com 2023-03-08 02:27 出处:网络
I\'m going to draw some sort of glassy buttons in java me (targeting devices with MIDP 2.0). An Example:

I'm going to draw some sort of glassy buttons in java me (targeting devices with MIDP 2.0). An Example:

Drawing Glassy Buttons

Actually I need to impelement Gradient and Bevel-Emboss effects in Java ME, do you have any opinion or "guideline" on how to implement开发者_运维问答 this?

EDIT: Now I know how to draw gradient background, but That is not sufficient. Is it possible to draw such glassy button in Java ME? I've worked with C# and I can draw these kinds of glassy buttons there, but I'm struggling on how to simulate something like these buttons in Java ME or at least something near to them, Note that I'm looking for a good guidance and help to move forward.

Do I need to provide more information? If so, please let me know. Thanks In advance.


You can do it by using an alpha gradient paint. Heres an example:

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);

it will look like this:

Drawing Glassy Buttons


You can use LWUIT framework for developing java-me (MIDP 2.0) applications. Its good GUI framework for java-me application. Here you can create the theme manually using ResourceEdit. For more info see this discussion and LWUIT blog also.


yoy can not do so in me because it dont have such reach effect on UI

get image that have effect like that gredient and make it transparent using

btn.getStyle().setBgTransparency(100) // from 0-255

note: you must use images that is already semi transparent , if not than setBgTransparency would not work properly

I can not recommend you to use canvas

i recommend you to use use LWUIT

it have many more effects ads you required ,like

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

it have different layout as well

0

精彩评论

暂无评论...
验证码 换一张
取 消