Blogger Widgets ~~~MyMiniProWorld~~~: Create Translucent Windows in Java/Swing

-----ශ්‍රී ලංකාවේ අසිරිය------

Create Translucent Windows in Java/Swing





මන් කියලා දෙන්න යන්නේ කොහොමද ජාවා වලින් එක හැඩයකට තියෙන විනිවිද වින්ඩෝ එකක් හදා ගන්නේ කියලා .

මේක කරන්න අවශ්‍ය වෙන්නේ මෙන්න මේවා ටික විතරයි .

ස්වින් Application සම්බන්දව මුලික දැනුමක්..
JDK 7 , නැති කට්ටිය මෙතනින් ගන්න .
Netbeans IDE ,නැති කට්ටිය මෙතන්න ගිහින් ඩවුන්ලෝඩ් කරගන්න .

මුලින්ම අපි බලන්න ඕනේ අපේ පරිගණකයේ ප්ලැට් ෆෝම එක Translucent (විනිවිද) එකට Support (සහය) කරනවාද කියල බලන එකයි. එකට අපි මුලින්ම Graphic Device ඒකෙන් instance එකක් හදා ගන්න ඕනේ මෙන්න මේ විදියට .
import static java.awt.GraphicsDevice.WindowTranslucency.* 

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
 


ඔන්න හරි ජාවා වල Transperancy Method ටයිප්ස්‌ 3 තියෙනවා . 

1.gd.isWindowTranslucencySupported(TRANSLUCENT); //for Uniform Transparency
2.gd.isWindowTranslucencySupported(PERPIXEL_TRANSLUCENT);//for per-Pixel Transperancy
3.gd.isWindowTranslucencySupported(PERPIXEL_TRANSPARENT); //for shaped windows


මේ හැම Method එකකින්ම Boolean (True or False) එකක් තමයි Return වෙන්නේ .ලැබෙන ප්‍රතිපලය මත ඇප්ලිකේෂන් එක සාදා ගන්න පුළුවන් .මේ හැම එකක් ගැනම අපි දැන් බලන්න යන්නේ කොහොමද හදා ගන්නේ කියලා .මුලින්ම අපි පලවෙනි එක කරන්නේ කොහොමද කියලා බලමු .


Uniform Transparency(එකීය පාරදෘශ්‍යතාව):

මේ වාගේ ඇප්ලිකේෂන් එකක් හදාගන්න එක හරිම ලේසි මොකද කියනවානම් අපි jframe එකක් හදා ගත්තට පස්සේ "setOpacity()" කියන මෙතඩ් එකට windows class එකේ ඉදලා call කරන්න විතරයි තියෙන්නේ. එක Float අගයක් .පොඩිම අගයේ (ඒ කියන්නේ 0.0 ) ඉදලා ලොකුම අගයට (ඒ කියන්නේ 1.0 ) set කරන්න තියෙන්නේ .1.0 set කරනවා කියන්නේ වින්ඩෝ එක සම්පුර්ණයෙන්ම පාරාන්ධයි .එකේ අනිත් පැත්ත ඒ කියන්නේ 0.0 දැම්මොත් වින්ඩෝ එක සම්පුර්ණයෙන්ම පාරදෘශ්‍යයි.

මේ විදියට තමයි එක කරන්න ඕනේ .

public class MyUniTransperancyWindow extends JFrame {

/*


Extra usage for some method..
*/
MyUniTransperancyWindow myWindow = new MyUniTransperancyWindow ();
myWindow.setLocationRelativeTo(null);
myWindow.setSize(400,300);
myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myWindow.setOpacity(0.70f);

myWindow.setVisible(true);

}


මේක හරියට වැඩ කල නම් ඔයාලට 70% විනිවිදභාවයෙන් තියෙන වින්ඩොවක් ලැබෙන්න ඕනේ.ඊලග ලිපියෙන් මන කියලා දෙන්නම් කොහොමද වින්ඩොව් එක අපිට කැමති හැඩය කට හදා ගන්නේ කියලා,ලිපිය කියවපු ඔයාලට බොහොම ස්තුතියි.
 
Copyright © ~~~MyMiniProWorld~~~ මුදිත ධර්මසේන