2010-04-11 24 views
21

अब तक मैंने स्विंग और जेकंपोनेंट्स का उपयोग करके "छोटे" ग्राफिकल अनुप्रयोगों का निर्माण किया है, जैसा कि मैंने स्कूल में सीखा था। फिर भी मैं अब बदसूरत JButtons सहन नहीं कर सकता। मैंने अलग-अलग जेबटन विधियों के साथ खेलने की कोशिश की है, जैसे रंग बदलना, आइकन डालना आदि। लेकिन मैं अभी भी संतुष्ट नहीं हूं। आप जावा में एक अच्छा जीयूआई कैसे बनाते हैं?मैं जेबुटन से थक गया हूं, मैं जावा में एक अच्छा जीयूआई कैसे बना सकता हूं?

मैं नहीं के लिए भी भारी विकल्प (जैसे, बड़े चौखटे या बहुत जटिल पुस्तकालयों के बिना) के लिए देख रहा हूँ।

+0

http://stackoverflow.com/questions/2248342/skinning-java-applications/2248437#2248437 – Jonas

+0

@Jules Olléon: +1 ध्यान दें कि कुछ मामलों में जहां मुझे कुछ गैर-मौजूदा घटक की आवश्यकता थी (जैसे, कहें, "दोहरी/त्रि/क्वाड प्रगति पट्टी" [एक ही "प्रगति पट्टी" में अलग-अलग रंग]] और चाहते थे कि यह * बिल्कुल * लिनक्स पर दिखाई दे, वही * विंडोज़ और ओएस एक्सआई ने अपना खुद का, लिग्थवेट, स्वयं- बनाया, पिक्सल आधारित घटक। गेम (मेनू इत्यादि) के लिए 2 डी जीयूआई लिखना अलग नहीं है। ओह बीटीडब्ल्यू, डिफ़ॉल्ट लेआउट बदलने के बारे में बात करने वाले सभी सुझाव ओएस एक्स पर स्वीकार्य नतीजे देने की संभावना नहीं है: आप यह सुनिश्चित करना चाहते हैं कि * केवल * ओएस एक्स पर नहीं होने पर इन एल एंड एफ का उपयोग लागू करें;) – SyntaxT3rr0r

+0

@ जुल्स ओलेऑन: ओएस एक्स पर इन एल एंड एफ का उपयोग करने का दूसरा कारण यह भी नहीं है कि ऐसा करने से ऐप्पल दिशानिर्देशों को तोड़ने की संभावना है (डिफ़ॉल्ट रूप से, किसी भी चीज़ के साथ गड़बड़ किए बिना, जावा जेबटन * ओएस एक्स पर बहुत अच्छा लग रहा है)। – SyntaxT3rr0r

उत्तर

18

स्विंग लुक & महसूस करने का समर्थन करता है।

This tutorial बताते हैं कि कैसे:

UIManager.setLookAndFeel(lookAndFeelClassName); 

एक और तरीका है एल & एफ के साथ अपने ऐप शुरू करने के लिए है:

java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp 

Here 10 बहुत अच्छा लग की एक सूची है और महसूस करता है।

+0

धन्यवाद, यह मेरे जीयूआई को एक नया रूप देने का एक आसान तरीका है! सूची के लिए –

+1

+1, मैं कुछ पुराने स्विंग ऐप्स पंप करूंगा, धन्यवाद – stacker

1

आप JavaFX को आजमा सकते हैं। इसकी सभी समस्याओं के लिए, मुझे लगता है कि यदि आप अपने जावा एप्लिकेशन पर एक सभ्य (स्विंग से स्विफ्ट) इंटरफ़ेस रखना चाहते हैं, तो यह करना काफी आसान है। इसके अलावा अच्छा जावा एकीकरण। आप JavaFX में जावा इंटरफेस को कार्यान्वित कर सकते हैं और इसके विपरीत।

+0

आपका लिंक जावा होमपेज – Ferrybig

1

यह article से पता चलता JButton का विस्तार करने और घटक पेंटिंग के लिए तरीके overide करने के लिए कैसे।

5

क्या आपने कम से कम निंबस लुक'फेल के साथ प्रयास किया है? कि एक छोटा सा दूसरों से बेहतर है ..

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); 

केवल नकारात्मक पक्ष यह है कि यह कम से कम की आवश्यकता है Java6 अद्यतन में से 10

+0

पर मुलायम 404 रीडायरेक्ट के साथ टूटा हुआ है, यह वास्तव में एक अच्छा लग रहा है और महसूस करता है, धन्यवाद! –

6

मैं SWT का उपयोग कर रहा है। इसे आज़माएं, यह वास्तव में बहुत अच्छा जावा गुई ढांचा है, ग्रहण इसके चारों ओर बना है। आप अपने फॉर्म Instantiations बनाने के लिए ग्रहण के लिए भी इस प्लगइन का उपयोग कर सकते हैं।

+0

एसडब्ल्यूटी ओएस के आधार पर थोड़ा अलग व्यवहार करता है। मैक ओएस एक्स पर नेविगेटिंग सूचियों के लिए कुछ कीबोर्ड शॉर्टकट काम नहीं करते हैं और लिनक्स पर मुझे बैकिंग (सी) लाइब्रेरी निर्भरताओं के साथ कुछ समस्याएं थीं। यह स्विंग की तुलना में बस अधिक ओएस निर्भर है, इसलिए इसका उपयोग करने वाले ऐप को अधिक परीक्षण की आवश्यकता है। – extraneon

+0

* इस * प्रश्न के लिए इस उत्तर का मुख्य आपत्ति यह है कि इसमें टूलकिट में बदलाव शामिल है, जो प्रश्नकर्ता के लिए बहुत भारी वजन है। अन्यथा एक अच्छा विचार है। –

+1

आप सही हैं यह मुख्य समस्या है ओएस निर्भर है। लेकिन यदि आप जावा में एक महान दिखने वाले और वास्तव में तेज़ जीयूआई की तलाश में हैं, तो मैं एसडब्ल्यूटी का चयन करूंगा। सर्वोत्तम विश्वविद्यालय एसडब्ल्यूटी को दबाकर जीयूआई शिक्षा शुरू करते हैं। – Roman

2

हमारी परियोजना प्रबंधक JButtons रूप में अच्छी तरह पसंद नहीं है और हम JIDE OSS बटन का उपयोग कर रहे हैं के बजाय (और बहुत कुछ के अन्य घटकों के Jide)। SwingX एक विकल्प भी प्रदान करता है - जेएक्सबटन। आईएमओ ये चार सबसे मूल्यवान बाहरी स्विंग पुस्तकालय हैं।

1

स्विंग के साथ रहने और एक अलग रूप और अनुभव का उपयोग करना सबसे आसान है।

क्या आसानी से किया जा सकता है http://www.jgoodies.com/freeware/metamorphosis/index.html में दिखाया गया है

या तो अपने कार्यक्रम के साथ एक एल & एफ बंडल, या में बनाया से एक का चयन (कार्रवाई में यह देखने के लिए इस this web start link का उपयोग करें)। मुझे पसंद है लेकिन यह निंबस आपके कोड में स्पष्ट रूप से चुना जाना चाहिए।

4
try 
{ 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} catch(Exception e) 
{} 
0

आप ग्राफिक्स डिजाइन में एक छोटा सा कर रहे हैं, तो आप Synth साथ अपने स्वयं के डिजाइन है, जो मानक JRE का हिस्सा है बनाने पर विचार कर सकता है। यदि आप अपना खुद का निर्माण नहीं करना चाहते हैं, तो आप मौजूदा मौजूदा विषयों के लिए Google का उपयोग कर सकते हैं।

सिंथ के विकल्प Synthetica (व्यक्तिगत, गैर वाणिज्यिक उपयोग के लिए नि: शुल्क) या Substance ("बीएसडी लाइसेंस" में "मुक्त") हैं।

-2

यह अच्छा होगा अगर जावा इंटरफ़ेस बिल्डर (जीडीआई विकास उपकरण जो एक्सकोड के साथ आता है) के लिए एक समान टूल था - अब तक का सबसे अच्छा यूआई बिल्डर मैंने कभी देखा है।

संबंधित मुद्दे