Vista/Win7 - Using Aero for more than window decoration?

I was wondering if it's possible to use the 'glass' effect in java as found under Windows Vista and 7.
For example, windows explorer uses the glass effect for more than just the window decoration, there is also a bit below the titlebar containing the addressfield/navigation buttons/searchbar.
Is it possible to create something similar looking in Java? I realise this will kill off multi-platform support, but that can be worked around in other ways.
So far I've discovered that the dwmapi is needed to access the feature, but I'm unable to find a java implementation of it and don't have the knowledge to write my own.
So are are any libraries out there for this purprose, or does anyone have a simple example?
[edit]
Well if someone has the time/motivation to port it from another language,
VB: http://pscode.com/vb/scripts/ShowCode.asp?txtCodeId=67485&lngWId=1
C++ (Qt): http://labs.trolltech.com/blogs/2009/09/15/using-blur-behind-on-windows/
Edited by: Axeia on Jan 9, 2010 4:17 AM

so that's C++, VB and C# so far, still haven't found how to do it in java.Thats correct, if you want Vista aero effects only in your application, then you have to turn to platform specific languages like C#.
For java, you can make your own effects. So, what is your goal? using Vista Aero or making a good looking application?
For learning how to make good looking applications in java, one of the best books is ' [Filthy Rich Clients|http://filthyrichclients.org/] '. It discusses how you can make use of java libraries like Swing, Java2D, Java3D, animation libraries, etc. to develop nice applications. Check the examples given at the site (I like the StackLayout example). They made a 'Filthy Rich Client' also, called Aerith. (Check this)
I remember this book also discusses how you can achieve blurry translucent (Vista like) effect for Swing dialog. Its source is given on the same site, I also found its source here. So you can try it out, and check how java's aero looks like ;-)
Andrew gave you the link of the article about translucent Frames, I would like to mention that newly released JavaFX makes making translucent(transparent) frames more easier. Please check [this out.|http://javafx.com/samples/SwirlingSquares/index.html] And yes, JavaFX makes your application look really cool without much effort (I have not yet learned it, just saw the demos). You can also try out the demos of JavaFX here.
So, its up to you, Java can make your application look good, but without making use of Vista Aero.
Thanks!

Similar Messages

  • TS4268 Why have I been charged for iMessage activation now, when I have been using iMessage for more than one year?

    I received a message on my iPhone saying that some charges could be applied due to activiation of iMessage. My question is: why have I been charged now, if I had already activated iMessage and I have been using it for more than a year.

    We are basically users and can't really help with activation. So unless a staff member can check in, you need to speak to Customer Service.
    http://helpx.adobe.com/x-productkb/global/service1.html
    Serial number and activation chat
    or
    800-833-6687
    Monday—Friday, 5am—7pm PT

  • PS CS5 keeps crashing if i don't use it for more than 5mins

    i'm having trouble with the new ps cs5, it keeps crashing every 5-10mins if i don't use it... i've install it in a new machine at work and since then it keeps crashing if i don't use it for more than 5+mins... it's really frustrating when this happens.. is there anyone having the same problem and can someone shed some lights on why this keeps happening to me please?

    First I've heard of this forum, and I watch this forum pretty closely.
    Just a general suggestion with a possible chance of helping you:  Update your device drivers (for example your display driver).
    -Noel

  • Download Header using GUI_DOWNLOAD for more than 100 fields

    Hi,
    I want to download data with header from a database table using the FM 'GUI_DOWNLOAD'.
    I know that this can be achieved by
    1. Download headers first to an internal table and call FM ' GUI_DOWNLOAD" 
    2. then Download data to the same file by calling FM 'GUI_DOWNLOAD' with APPEND = 'X'
    But my database table has more than 100 fields, pls tell me how to download all the fields as header information.
    Thanks in advance.

    Hi
    This can be done using the FM GUI_DOWNLOAD.
    Store all the field names in a internal table, pass the internal table to FIELDNAMES component of the FM. This will download the internal table with headings.
    Note - To download it as excel, pass FILETYPE as 'DAT'.
    Regards,
    Vinod

  • Can I use iSync for more than one user on my .mac family account?

    I just got a new MacBook Pro 17" to replace my Pro 15", which I want to give to my hubby who's using an old MacBook. I have successfully synched my old Pro to the cloud and my new Pro, thereby rolling over all my settings, widgets, address book, etc. But now I want to roll-over my husband's settings from the MacBook to the old 15" Pro. I'm afraid if I just perform a sync, MY settings out there in the cloud will overwrite his. What's the proper procedure to follow here? He's got a lot of passwords and really wants his bookmarks saved to the 15" MacBook Pro-- that's the most important info he wants to maintain. Recommendations?

    iSync is for syncing mobile phones and PDAs - it has nothing to do with syncing between Macs.
    You post your question in one of the more relevant MobileMe forums.

  • Can I use itunes for more than one device?

    Recently my son has aquired an ipod touch, he needs to be able to use itunes so he used my computer, however all my apps and music synced to his device, I managed to sort it out but when I plugged my ipod in I lost all my music and ended up with just his music.
    What I'm trying to say is do I need itunes on another computer to prevent all our stuff getting mixed up all the time or is there a way for me to use both ipods individually on one itunes?

    No. See:
    How to use multiple iPods, iPads, or iPhones with one computer
    If you use the same iTunes account, you can do it just by ensiring that the devices have different names. Then just go to the various panes (Apps, music etc.) and check the boxes so that only selected items sync to the iPod.

  • How to use LIKE for more than one condition

    I want to get list of usernames starting with A,B, and C....can any one provide the query using LIKE

    You would need to use something more like one of these:
    SELECT username FROM table
    WHERE username LIKE ('AB%') or
          username LIKE ('AC%') or
          username LIKE ('AD%');
    SELECT username FROM table
    WHERE SUBSTR(username, 1, 2) IN ('AB', 'AC', 'AD')
    SELECT username FROM table
    WHERE REGEXP_LIKE (username, '^AB|^AC|^AD')The regexp_like version is only available on 10g or higher.
    John

  • I recently bought a 13" Mac Book Pro i7 dual core processor and everything was just fine until now. I have been using iMovie for about a month and it runs perfectly, but now I can't seem to use it for more than 20 minutes without iMovie crashing. Help?

    When iMovie crashes it also makes my compute very slow and unpleasant to use. Has anyone else had this problem before? Should I take my laptop to the genius bar? I owned this computer for over a month now.

    check out this link which answers your question http://support.apple.com/kb/HT1242
    after re reading your post, I think you need an SMC reset instead: http://support.apple.com/kb/ht3964
    what does activity monitor show? screenshots?

  • Question about using plans for more than one device

    I have a Verizon wireless broad band modem I currently use in conjunction for my lap top. I am looking at getting a cell phone soon and I am curious if I can use that plan, that is currently attached to the modem, with this hypothetical cellphone as well, or if I would need get separate plans for both devices.

    If you want to keep your data from being merged, you will need to have separate iCloud accounts with separate IDs.  You can still track your devices using Find My iPhone, you will just need to be signed into the iCloud account for the device you are trying to track.  You can also continue to share the same ID for iTunes purchasing; it does not need to be the same as the ID used for iCloud.
    In order to migrate your daughter to her own account, on her phone go to Settings>iCloud, scroll to the bottom and tap Delete Account.  (This will only delete the account from her phone, not from iCloud.  Your devices will not be effected by this.)  When prompted about what to do with the iCloud data, choose Keep On My iPhone.  Next, set up a new iCloud account using a different Apple ID (if you don't have one, tap Get a Free Apple ID at the bottom).  Then turn iCloud data syncing for contacts, etc. back to On, and when prompted about merging with iCloud, choose Merge.  This will upload her data to the new account.
    You can then go to icloud.com on your computer and sign into each iCloud account separately and manually delete the data you don't want from each account (such as deleting your daughter's contacts from your account, and vice versa).

  • Hello I dropped to the factory settings and now I can not activate your device. firmware did not help. I forgot my id. unlock my device please. all the documents attached to it. I can not use it for more than a week

    помогите мне

    You cannot activate the iPhone without the AppleID and passcode used
    to originally activate it. This is a security feature in iOS 7 called Activation
    Lock. There is no workaround.
    iCloud: Find My iPhone Activation Lock in iOS 7
    http://support.apple.com/kb/HT5818?viewlocale=en_US&locale=en_US
    http://support.apple.com/kb/TS4515

  • How Do I Use iTunes For More Than 1 iPhone?

    My wife just upgraded her phone to the iPhone 5 and wanted to download all of her apps to the new phone. I though it would be as simple as logging into her iTunes account through the iTunes software on my PC and then just download them through the program. But of course nothing is simple when dealing with Apple. Instead of simply listing the apps associated with her iTunes account it lists a bunch of random apps from my iPhone. How do I see the iTunes apps associated with her account? Right now it seems like the only option is to go into the iTunes store through her phone and download each app individually.

    That doesn't make any sense. She's logged into iTunes, We shouldn't have to create separate accounts on our PC. That should be handled by the iTunes software. If I log into say Netflix from my friends computer it will go to MY Netflix account. I wouldn't need to create an entire profile on his PC just to access my account.

  • Help in using listagg function for more than 8000 char.

    Hi Friends,
    Need you urgent help in using listagg function for more than 8000 char.
    I did the below sample SQL and in "e_orig" and "d_orig" for upto 4000 char it is working fine but I have to use it for more than 8000 char. and it is giving error,
    I checked the listagg function is having limitation of 4000 char.
    I tried but I am unable to achive this. Can someone provide me a sample example to achive this
    select d.dname,d.loc,e.hiredate
    ,listagg(e.ename,',' ) within group (order by e.deptno) over (partition by e.deptno) as e_orig
    ,listagg(e.ename, ',') within group (order by e.sal) over (partition by e.deptno) as d_orig
    from emp e, dept d
    where e.deptno=d.deptno;[ This is my first post, I gone through the guideline for posting a post , and try to go according to that ( I have not pasted here create table and insert as I have used basic table emp, dept for example), please let me know if still I should give this, I will take care from my next post ]
    Thanks in advance

    Interesting, I didn't know you could do that, but...
    BluShadow wrote:
    You could write some PL/SQL code that does it all for you, but that would involve loops and would be slow.Well, objects are written in PL/SQL aren't they? And presumably there'll be implicit looping too? So it's not at all obvious that this method will be faster than doing the joining in PL/SQL in memory. The only way to find out is to benchmark them - so I have done that.
    I noticed that OP's ref cursor actually only ever retrieves a single record for a bound department number, so I decided the best thing would be to test using a procedure that passes an output string back. I selected all (109) employees and put spaces in to ensure above 4000 characters. I also noticed that as he is using PL/SQL he probably can use a VARCHAR2 type, but just not ListAgg in the query, so I wrote short procedures as follows:
    SimpleAggChr     - bulk collect and array processing, VARCHAR2 output
    ClobAggPrc     - the custom aggregation method, CLOB output
    SimpleAggClob     - bulk collect and array processing, CLOB output
    I then wrote a driving script that calls them in the order above and times each call (I like benchmarking so I have my own timing object to make it easy). I then print the lengths for checking, and my object writes the timings to my output table. Running a few times I got varying results, but generally it looks like there isn't a lot to choose between them for performance.
    Here's the procedure code:
    CREATE OR REPLACE TYPE char100_list_type AS TABLE OF VARCHAR2(100)
    CREATE OR REPLACE PROCEDURE SimpleAggChr (x_out OUT VARCHAR2) IS
      l_enames     char100_list_type;
    BEGIN
      SELECT first_name || '                                        ' || last_name
        BULK COLLECT INTO l_enames
        FROM employees
       ORDER BY salary;
      FOR i IN 1..l_enames.COUNT LOOP
        x_out := x_out || l_enames(i) || ',';
      END LOOP;
    END SimpleAggChr;
    CREATE OR REPLACE PROCEDURE SimpleAggClob (x_out OUT CLOB) IS
      l_enames     char100_list_type;
    BEGIN
      SELECT first_name || '                                        ' || last_name
        BULK COLLECT INTO l_enames
        FROM employees
       ORDER BY salary;
      FOR i IN 1..l_enames.COUNT LOOP
        x_out := x_out || l_enames(i) || ',';
      END LOOP;
    END SimpleAggClob;
    SHO ERR
    PROMPT ClobAggPrc
    CREATE OR REPLACE PROCEDURE ClobAggPrc (x_out OUT CLOB) IS
    BEGIN
      SELECT clobagg(first_name || '                                        ' || last_name || ',')
        INTO x_out
        FROM employees
       ORDER BY salary;
    END ClobAggPrc;
    SHO ERRand the driving script:
    SET SERVEROUTPUT ON
    SET TIMING ON
    DECLARE
      l_enames_c1     CLOB;
      l_enames_c2     CLOB;
      l_enames_v     VARCHAR2(32767);
      l_timer     timer_set_type := timer_set_type ('Aggregation');
    BEGIN
      Utils.g_id := 'Aggregation';
      SimpleAggChr (l_enames_v);
      l_timer.Increment_Time ('SimpleAggChr');
      ClobAggPrc (l_enames_c1);
      l_timer.Increment_Time ('ClobAggPrc');
      SimpleAggClob (l_enames_c2);
      l_timer.Increment_Time ('SimpleAggClob');
      DBMS_Output.Put_Line ('SimpleAggChr returned string of length ' || Length (l_enames_v));
      DBMS_Output.Put_Line ('ClobAggPrc returned string of length ' || Length (l_enames_c1));
      DBMS_Output.Put_Line ('SimpleAggClob returned string of length ' || Length (l_enames_c2));
      l_timer.Write_Times;
    END;
    SET TIMING OFF
    SET LINES 150
    SET PAGES 1000
    COLUMN id FORMAT A30
    COLUMN line_text FORMAT A120
    SELECT line_text
      FROM output_log
    WHERE id = 'Aggregation'
    ORDER BY line_ind
    /and the results:
    SimpleAggChr returned string of length 5779
    ClobAggPrc returned string of length 5779
    SimpleAggClob returned string of length 5779
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:27.05
    LINE_TEXT
    Timer Set: Aggregation, constructed at 03 Nov 2011 16:27:07, written at 16:27:35
    ================================================================================
    [Timer timed: Elapsed (per call): 0.02 (0.000016), CPU (per call): 0.01 (0.000010), calls: 1000, '***' denotes corrected
    line below]
    Timer              Elapsed          CPU          Calls        Ela/Call        CPU/Call
    SimpleAggChr          9.84         0.36              1         9.84400         0.36000
    ClobAggPrc            9.37         0.32              1         9.37400         0.32000
    SimpleAggClob         8.25         0.22              1         8.25000         0.22000
    (Other)               0.00         0.00              1         0.00000         0.00000
    Total                27.47         0.90              4         6.86700         0.22500
    13 rows selected.

  • Not responding without using sony xperia c4 for more than 7 hours

    Hai, I am using Sony xperia C4 which i bought 20 days back  My problem is when i keep my phone idle(i.e not using it for more than 7 hours), and then when i press the power button back, the screen turns black and not responding too. notification lights were on, and once i force shutdown my phone ,then the phone restarts and back to normal..   and that time my battery was in 20-30%... Please reply to this issue  Thanks

    I suggest that you try to repair the phone software using PC Companion..
    Before repairing your device you may want to backup your information first. Check out this topic for more information on how to.
    How to backup?
    If the issue should still remain I think that this needs to be examined and fixed at a repair center. For more information about how to submit your phone for repair and where, contact your local support team.

  • Using ONE Microsoft account for more than 100 Windows devices

    I developed an application for company customers and it is listed on the windows store now. I need to use only ONE Microsoft e-mail for so many devices for my users. How to log in on all the devices with the same e-mail instead of creating one for each
    user and for each new user?
    Ahmed Abd El-Karim

    When talking about the phone the maximum number of devices on a single account is 5. When it comes to Windows 8.1 on PCs and Tablets it's 88 but you can not use it on more than that.
    If this is intended for company deployment you can do that using sideloading by either getting a sideloading key or joining the devices to a domain or using a company certificate for Windows Phones.
    Deploying it via the Store is not a viable option there.

  • Using i3 - keys start to lag (have to hold key for more than 1 second)

    I'm using i3 and am having trouble with the keys suddenly and I have to restart the session to get it back to normal.  No clue what it could be.  I can use gnome, cinnamon, wmii, and awesome without issue, but i3 is what causes me problems.
    When I type, I have to hold each key for more than 1 second before it registers.  So in order to type "boat" I have to press and hold b for a second, then o for a second or so, same with a and t.  Any idea what I should check first?
    Thanks.
    EDIT:
    It just seems to happen randomly.  When I'm typing, on the web, playing a game, etc.  It's not like it's happening whenever I do a specific task or am running a specific application.
    Last edited by sdouble (2013-04-07 19:30:25)

    UnsolvedCypher wrote:What's your desktop environment?
    Boots into GDM, select my session (i3), and log in that way.  only WM I'm having trouble with this way is i3.
    kaszak696 wrote:Can you see how xev (xorg-xev package) reacts to keypresses? Also, posting relevant configs and logs would be helpful.
    I think i had a similar issue years ago, but i can't remember the details, sorry.
    I haven't checked. I'll check next time it happens.  It happens about once per day.  I'll report back next time.
    Here is my i3 config file.  It's pretty raw, I've really only added a couple things to it (gimp & multimedia keys from keyboard, though I just noticed today that my vol up and down wheel isn't working anymore)
    # This file has been auto-generated by i3-config-wizard(1).
    # It will not be overwritten, so edit it as you like.
    # Should you change your keyboard layout somewhen, delete
    # this file and re-run i3-config-wizard(1).
    # i3 config file (v4)
    # Please see http://i3wm.org/docs/userguide.html for a complete reference!
    set $mod Mod4
    # Font for window titles. Will also be used by the bar unless a different font
    # is used in the bar {} block below. ISO 10646 = Unicode
    font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
    # The font above is very space-efficient, that is, it looks good, sharp and
    # clear in small sizes. However, if you need a lot of unicode glyphs or
    # right-to-left text rendering, you should instead use pango for rendering and
    # chose a FreeType font, such as:
    # font pango:DejaVu Sans Mono 10
    # Use Mouse+$mod to drag floating windows to their wanted position
    floating_modifier $mod
    # start a terminal
    bindsym $mod+Return exec i3-sensible-terminal
    bindsym Control+$mod exec i3-sensible-termi
    # kill focused window
    bindsym $mod+Shift+c kill
    # start dmenu (a program launcher)
    bindsym $mod+p exec dmenu_run
    # There also is the (new) i3-dmenu-desktop which only displays applications
    # shipping a .desktop file. It is a wrapper around dmenu, so you need that
    # installed.
    # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
    # app launcher
    bindsym $mod+Control+g exec gimp
    # multimedia keys
    bindsym XF86AudioMute exec amixer set Master toggle
    bindsym XF86AudioRaiseVolume exec amixer set Master 2%+
    bindsym XF86AudioLowerVolume exec amixer set Master 2%-
    # change focus
    bindsym $mod+j focus left
    bindsym $mod+k focus down
    bindsym $mod+l focus up
    bindsym $mod+semicolon focus right
    # resizing alternative
    bindsym $mod+Control+Left resize shrink width 5 px or 5 ppt
    bindsym $mod+Control+Down resize grow height 5 px or 5 ppt
    bindsym $mod+Control+Up resize shrink height 5 px or 5 ppt
    bindsym $mod+Control+Right resize grow width 5 px or 5 ppt
    # alternatively, you can use the cursor keys:
    bindsym $mod+Left focus left
    bindsym $mod+Down focus down
    bindsym $mod+Up focus up
    bindsym $mod+Right focus right
    # move focused window
    bindsym $mod+Shift+j move left
    bindsym $mod+Shift+k move down
    bindsym $mod+Shift+l move up
    bindsym $mod+Shift+semicolon move right
    # alternatively, you can use the cursor keys:
    bindsym $mod+Shift+Left move left
    bindsym $mod+Shift+Down move down
    bindsym $mod+Shift+Up move up
    bindsym $mod+Shift+Right move right
    # split in horizontal orientation
    bindsym $mod+h split h
    # split in vertical orientation
    bindsym $mod+v split v
    # enter fullscreen mode for the focused container
    bindsym $mod+f fullscreen
    # change container layout (stacked, tabbed, toggle split)
    bindsym $mod+s layout stacking
    bindsym $mod+w layout tabbed
    bindsym $mod+e layout toggle split
    # toggle tiling / floating
    bindsym $mod+Shift+space floating toggle
    # change focus between tiling / floating windows
    bindsym $mod+space focus mode_toggle
    # focus the parent container
    bindsym $mod+a focus parent
    # focus the child container
    #bindsym $mod+d focus child
    # switch to workspace
    bindsym $mod+1 workspace 1
    bindsym $mod+2 workspace 2
    bindsym $mod+3 workspace 3
    bindsym $mod+4 workspace 4
    bindsym $mod+5 workspace 5
    bindsym $mod+6 workspace 6
    bindsym $mod+7 workspace 7
    bindsym $mod+8 workspace 8
    bindsym $mod+9 workspace 9
    bindsym $mod+0 workspace 10
    # move focused container to workspace
    bindsym $mod+Shift+1 move container to workspace 1
    bindsym $mod+Shift+2 move container to workspace 2
    bindsym $mod+Shift+3 move container to workspace 3
    bindsym $mod+Shift+4 move container to workspace 4
    bindsym $mod+Shift+5 move container to workspace 5
    bindsym $mod+Shift+6 move container to workspace 6
    bindsym $mod+Shift+7 move container to workspace 7
    bindsym $mod+Shift+8 move container to workspace 8
    bindsym $mod+Shift+9 move container to workspace 9
    bindsym $mod+Shift+0 move container to workspace 10
    # reload the configuration file
    bindsym $mod+Shift+q reload
    # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
    bindsym $mod+Shift+r restart
    # exit i3 (logs you out of your X session)
    bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
    # resize window (you can also use the mouse for that)
    mode "resize" {
    # These bindings trigger as soon as you enter the resize mode
    # Pressing left will shrink the window’s width.
    # Pressing right will grow the window’s width.
    # Pressing up will shrink the window’s height.
    # Pressing down will grow the window’s height.
    bindsym j resize shrink width 10 px or 10 ppt
    bindsym k resize grow height 10 px or 10 ppt
    bindsym l resize shrink height 10 px or 10 ppt
    bindsym semicolon resize grow width 10 px or 10 ppt
    # same bindings, but for the arrow keys
    bindsym Left resize shrink width 5 px or 5 ppt
    bindsym Down resize grow height 5 px or 5 ppt
    bindsym Up resize shrink height 5 px or 5 ppt
    bindsym Right resize grow width 5 px or 5 ppt
    # back to normal: Enter or Escape
    bindsym Return mode "default"
    bindsym Escape mode "default"
    bindsym $mod+r mode "resize"
    # Start i3bar to display a workspace bar (plus the system information i3status
    # finds out, if available)
    bar {
    status_command i3status

Maybe you are looking for