The Source for Java Technology Collaboration
User: Password:



Editor's Daily Blog

Going Native

Posted by daniel on December 08, 2003 at 11:56 AM | Comments (2)

When you double-click an application, how do you know that it has been written in Java? Is it important that you know?

In many cases, the way you know that your application isn't native is that something doesn't feel quite right. The buttons look funny or you see "Quit" where you expect "Exit" or the keyboard accelerators aren't what you expect. Today Joshua Marinacci kicks off a three part series on tuning your Java desktop apps to look and feel more like native apps. In Make Your Swing App Go Native, Part 1 , he begins with a look at the design of menus and the addition of visual alerts that give your Java applications more of the look and feel that your users are accustomed to.

There are obvious differences for Mac and Windows users. For Windows users the menu bar lives at the top of each window. The left-most menu is the File menu and it contains menu items for New, Open, Close, Save, and Exit. The first four menu items have keyboard accelerators made up of holding the Control key and pressing N, O, W, and S respectively. The Mac menu bar lives at the top of the screen. Rather than enter a religious war to discuss why there are differences, let's just look at what the differences are. At the left side of the Mac menu bar, you will find the "Apple" menu. Next is the Application menu. The third menu is the File menu. It includes the menu items New, Open, Close, and Save with almost the same keyboard accelerators. In place of the Control key, the user presses the Command (the Apple) key. So where's the Exit? It's not there. The corresponding menu item on a Mac is Quit and it lives under the Application menu with the keyboard short curt Command-Q.

That seems like a lot of differences to account for. Fortunately it is not too bad. The differences in the meta key are handled by a single call. The menu placement is handled (for the most part) by setting a system property. The differences in where menu items live and what they are named are addressed by building on Steve Roy's MRJAdapter library. The other focus of the article is getting your attention with Native user alerts. On the Mac Joshua has used Gregory Guerin's Notifications library. This limits you to targeting J2SE 1.3 and not J2SE 1.4.x. Perhaps Joshua will present a more general solution in a later article. For the Windows side, Joshua extends code he found on Sun's JNI forum.


Also in Java Today begins the week with a link to Berthold Daum's article Tip: Parsing XML documents partially with StAX. StAX is a streaming XML parser with some attractive features. One of them is the ability to not process parts of the XML document. This developerWorks tip shows you examples of two filters you can use with StAX. The first skips all processing instructions and the second allows you to skip entire branches of the XML document.

James Todd has written an article on the JXTA Configuration Extension on the wiki. His examples include the trivial configuration where only a name and password are passed into the Configurator, the use of "of Configurator setters to generate specific configurations", the use of either a Profile or an existing PlatformConfig to seed the defaults, and programatically implementing the Configurator interface.


In Weblogs , Jim Cushing says Don't be afraid to be wrong. What a wonderful moment in your life when you can be comfortable with what you don't know. Jim laments that "We're not really paid to learn, though it is a daily part of our jobs, and we certainly aren't paid to be wrong. When we are wrong, it can cost our companies and our customers money. If we're wrong enough times, it can cost us our jobs or our reputations, or both. So we have evolved to be positively petrified of being wrong."

It's why radio stations in the US are so boring. Even most of the, so called, alternative stations have very limited playlists. Just play the hits. Don't take a chance on a record that may lead some folks to change the dial. Rely on the research and not on your guy. Sigh. I'm done with that rant, but you can see that this fear of being wrong is what leads many to stop at a chain and not a local coffee shop or hamburger joint. We may not be right, but we won't be wrong.

O.K., I've calmed down again. Back to software. Jim writes "If we're not afraid to admit we're wrong, we can do something to correct our mistakes or revise our project. Better yet, we'll admit that we neither can be nor need to be right all at once, so we scale down that 125-page document and allow for uncertainty and evolution. As the project progresses, the system will take shape and we adapt the requirements to their environment."

Don't want to be wrong on the big issues in life? Follow John Mitchell's link in his blog to the Dating Design Patterns. Can't wait for the corresponding book of refactorings.


Today in Projects and Communities, take a look at the latest news and features from the Java Games community. Follow the links to stories on the First Televised Video Game Awards or to a developer feature for Chrome. Looking for an easier way to do distributed computing? The Cajo project describes itself as a "small, free library, enabling powerful, dynamic, multi-machine interaction, both within, and between, Java applications" which aims to "simplify the use of RMI."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review by news director Steve Mallet before being posted to the site. You can also subscribe to the java.net News RSS feed.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


This blog is delivered weekdays as the Java Today RSS feed. Once this page is no longer featured as the front page of java.net it will be archived at http://today.java.net/today/archive/index_12082003.html. You can access other past issues in the java.net Archive.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • wow power leveling
    wow powerleveling
    wow power leveling
    wow gold
    wow items
    feelingame.com
    wow tips
    Most Valuable WOW Power Leveling Service
    wow power leveling faq
    cheap wow power leveling
    wow power leveling
    wow powerleveling
    wow power lvl

    Posted by: wowleveling3 on December 14, 2007 at 05:31 AM

  • 网络营销软件
    网络营销软件
    网络营销软件
    群发软件
    群发软件
    ---
    群发软件
    网络营销软件
    论坛群发软件
    网站排名软件
    群发软件
    推广小助手破解版
    论坛群发软件
    网站排名软件
    群发软件
    推荐给你很好的群发软件和信息群发软件和供求群发软件
    推荐给你很好的群发软件和信息群发软件和供求群发软件博客群发软件网络营销软件网络营销软件
    网站排名软件网站排名软件网站优化软件信息群发软件信息群发软件信息群发软件论坛群发软件网站推广软件网站推广软件博客群发软件博客群发软件

    群发软件群发软件博客群发软件论坛群发软件网络营销软件论坛群发软件
    信息群发软件推广软件网站推广软件网络营销软件网站推广软件群发软件网站排名软件网站推广软件博客群发软件论坛群发软件群发软件网站排名软件网站推广软件博客群发软件论坛群发软件
    网站排名软件
    博客群发软件
    网站排名软件
    网站推广软件
    群发软件信息群发软件
    免费论坛群发软件
    论坛群发软件
    网站排名软件
    免费博客群发软件
    网站推广软件

    群发软件
    博客群发软件
    网站排名软件
    网站推广软件
    群发软件信息群发软件
    免费论坛群发软件
    论坛群发软件
    网站排名软件
    免费博客群发软件
    博客群发软件
    信息群发软件
    论坛群发软件
    信息群发软件
    博客群发软件
    qq群发软件
    邮件群发软件
    博客群建软件
    企业名录搜索软件
    信息群发软件
    邮件群发软件
    论坛群发软件
    博客群发软件
    网站推广软件
    网络营销软件
    全能营销破解版
    网络营销软件
    论坛群发软件
    论坛群发软件
    论坛群发软件
    网络营销软件
    信息群发软件
    信息群发软件
    信息群发软件
    群发软件
    论坛群发软件
    群发软件
    网络营销软件
    网站推广软件

    Posted by: u89io98 on December 26, 2007 at 07:20 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds