জাভা সুইং বিকাশের সেরা অনুশীলনগুলি কী কী?


17

এই প্রশ্নের জন্য আমার প্রাক-গবেষণা করার সময় , আমি খুঁজে পেয়েছি যে ইন্টারনেটে জাভা সুইং সেরা অনুশীলনগুলি সম্পর্কে খুব সুসংহত তথ্য নেই। সুতরাং আমি অনুমান করি যে স্ট্যাক এক্সচেঞ্জকে ওয়ান গ্রেট লিস্ট তৈরির সময় শট দেব।

জাভা সুইং বিকাশের সেরা অনুশীলনগুলি কী কী? আপনার জন্য কাজ করার কী খুঁজে পেয়েছেন এবং কেন?


2
আমি স্কুলে সুইংয়ের সাথে খেলেছি, এবং এটি একটি আনন্দদায়ক অভিজ্ঞতা ছিল না। পুরো জিনিসটি ফোটানো এবং অহেতুক জটিল বলে মনে হয়েছিল। সবচেয়ে ভাল অনুশীলন হতে পারে অন্য কিছু ব্যবহার করা।
রবার্ট হার্ভে

1
@ রবার্টহারভে "স্কুলে খেলা" প্রোডাকশন সফ্টওয়্যার সরবরাহ করা থেকে অনেক দূরে। আমি খুঁজে পেয়েছি যে সুইং যুক্তিসঙ্গত, যৌক্তিক উপায়ে এটির জন্য প্রয়োজনীয় সমস্ত কিছু করতে পারে।

ঠিক আছে, এইভাবে রাখুন: যদি এটি একটি নিছক স্কুল প্রকল্পে এতটা কঠিন ছিল তবে এটি বাস্তবের পক্ষে প্রায় অকল্পনীয়ই কঠিন হয়ে উঠবে।
রবার্ট হার্ভে

1
@ রবার্টহারভে শক্তি একটি দাম নিয়ে আসে ...

আরও একটি গুরুত্বপূর্ণ বিষয়। সুইং উপাদানগুলি ক্রিয়াকলাপযোগ্য এবং এর অনেক পূর্বপুরুষ রয়েছে। সুতরাং তারা বেশিরভাগ ক্ষেত্রে উত্তরাধিকার সূত্রে ভারী। আপনার কিছু মোড়ানোর কৌশলটি বিবেচনা করা উচিত, বিশেষত যখন আপনার একটি অপ্রচলিত অবস্থা থাকে। আপনি যদি কোনও উপাদান থেকে উত্তরাধিকারী হন তবে কেবল এটি একটি ভিউ হিসাবে ব্যবহার করুন (এমভিসি বা অনুরূপ প্যাটার্নে)।
ডেভিড হরভ্থ

উত্তর:


12

আমার জন্য কী কাজ করেছে আমি কেবল তার উত্তর দিতে পারি। অন্যান্য ভাষ্যকাররা উল্লেখ করেছেন যে জাভা জিইউআই সাধারণভাবে না-দেখতে স্থানীয়-চেহারা এবং অনুভূতির 'অস্বাভাবিক উপত্যকায়' পড়ে এবং আমি এ নিয়ে বিতর্ক করি না।

অ্যাকশন API এর ভাল ব্যবহার করুন। এটি আপনাকে আপনার ব্যবহারকারী যে বিভিন্ন ক্রিয়াকলাপ সম্পাদন করবে সেগুলি আরও ভালভাবে encapsulate করতে দেয় এবং আপনাকে সেগুলি শর্টকাট, এক্সিলিটার কী, বোতাম এবং অন্যান্য ইনপুট অবজেক্টগুলিতে আরও সহজেই তারে বেড়াতে দেয়।

উপযুক্ত লেআউট ম্যানেজার ব্যবহার করুন। গ্রিডব্যাগলয়েট চূড়ান্ত শক্তিশালী, তবে আমি অত্যধিক পরিমাণে মন্তব্য ছাড়াই এটি অনিবার্য বলে বলতে পারি। আমি যখন রক্ষণ করি কোনও পুরানো জিইআইআই অ্যাপ্লিকেশন ধরে সোনারের মতো স্থিতিশীল কোড বিশ্লেষণ সরঞ্জামগুলি চালিত করি, এটি গ্রিডব্যাগগুলি লেআউটটিকে ঠিক সঠিক করে তোলার জন্য সর্বদা প্রচুর পরিমাণে যাদু সংখ্যার উল্লেখ করে। আমি গ্রুপলআউটটিতে প্রচুর সাফল্য পেয়েছি, যা পিক্সেল-নিখুঁত প্রান্তিককরণ নির্দিষ্ট করতে এড়িয়ে চলে।

আপনি যদি মনে করেন আপনার জেডিএলগ দরকার ... আপনি সম্ভবত করবেন না। ডায়ালগ বাক্সগুলি ভয়াবহ, ব্যবহারকারীর অভিজ্ঞতার দিক থেকে - এই অ্যাপ্লিকেশনটি প্রতিটি মেনু এবং ফর্মের জন্য সেগুলি ব্যবহার করার এবং উদ্ভট উপায়ে সর্বদা শীর্ষ নিয়মগুলি প্রয়োগ করার সিদ্ধান্ত নিয়েছে। এটি যখন আমাদের মেনুতে কিছু সতর্ক করার দরকার ছিল তখন এটি রক্ষণাবেক্ষণের দুঃস্বপ্নে পরিণত হয়েছিল। কিউ হতাশাগুলি ক্লিক করে ফোকাসযোগ্য - এবং এইভাবে অস্বীকারযোগ্য - ডায়লগগুলিতে ক্লিক করুন।

আপনার নিজের মাল্টিথ্রেডিং রোলিংয়ের পরিবর্তে সুইং ওয়ার্কার ব্যবহার করুন, যেখানে উপযুক্ত। জিইউআইতে নিয়মিত আপডেটগুলি সরবরাহ করার সময় সুইং ওয়ার্কারকে প্রসারিত করা এবং কিছু দীর্ঘায়িত কাজ করা খুব সহজ। ক্লায়েন্ট আপডেট ডাউনলোড করার কথা ভাবুন। এটি আপনার জন্য কর্মী থ্রেড শিডিয়ুলিং পরিচালনা করবে এবং আপনাকে ডাউনলোডের শতাংশটি আবার দর্শনে প্রকাশ করতে দেবে, যাতে আপনি আপনার প্রগতিবার বা আপনার কী আপডেট করতে পারেন।

আমার স্বীকৃত সীমিত অভিজ্ঞতাতে এটাই আমি পরামর্শ করতে পারি।


2
JDialogপুরোপুরি ঠিক আছে - যতক্ষণ আপনি এটি ডায়ালগগুলির জন্য ব্যবহার করেন।
জোনাস

1
আমি সম্মতি দিচ্ছি যে আপনি যদি সেগুলি তথ্যের জন্য ব্যবহার করেন যা অবিলম্বে অবশ্যই দেখা উচিত - এবং অভিনয় করা উচিত -। তবে বেশিরভাগ তথ্যের ব্যবহারকারীর অভিজ্ঞতা এতটা ব্যাহত করার দরকার নেই। আমার বাছাইপর্বের পিছনে সেইটাই ছিল।
টম জি

@ জোনাস আমি মনে করি যে বক্তব্যটি হ'ল সংলাপগুলি একটি খারাপ জিনিস (সেগুলি বাস্তবায়িত হয় JDialogবা না তা নির্বিশেষে )।
টম হাটিন -

1
কাপলিংটি কিছুটা দুর্গন্ধযুক্ত, তবে এটি আপনার নিজের থ্রেডিং কোড লেখার চেয়ে ভাল আইএমও। আমি বরং সূক্ষ্ম থ্রেড বাগের চেয়ে অদম্য কোডটি মোকাবেলা করব।
টম জি

3
আপনি MigLayout - miglayout.com

4

আমি বলব প্রথম জিনিসগুলির একটি হ'ল সরাসরি কাজ না করা। সুইং (আইএমএইচও) এর লেআউট সিস্টেমটি ভয়ানক, এবং এ থেকে কোনও উল্লেখযোগ্য অ্যাপ্লিকেশন তৈরি করার চেষ্টা করা দুঃস্বপ্ন is

দুই অনেক বিকল্প বিন্যাস পরিচালকদের যে আমি ব্যবহার করেছি MigLayout এবং MultiSplitPane বিন্যাস হয়। MigLayout আরও সাধারণ উদ্দেশ্য এবং যে কোনও লেআউটকে আপনি সহজ ও বুদ্ধিমান উপায়ে ভাবতে পারেন makes মাল্টিস্প্লিটপেন আরও নির্দিষ্ট; আমি এটি জিইউআইয়ের জন্য কিছু সাধারণ লেআউট তৈরি করতে ব্যবহার করেছি যাতে খুব বেশি জটিলতা নেই।

সম্পাদনা : এটি সুইং প্রতিস্থাপন করে না । আপনার যদি সুইং ব্যবহার করতে হয় তবে আপনি এখনও এই লেআউট পরিচালকদের ব্যবহার করতে পারেন যেহেতু তারা কেবল সুইং পরিচালনা করেন, এটি প্রতিস্থাপন করবেন না।


অবশ্যই আরও ভাল বিকল্প হ'ল কেবল সুইং ব্যবহার না করা। সাথে কাজ করা ভয়ঙ্কর, দেশীয় দেখায় না এবং ধীর গতির জন্য দোলকে তীব্র সমালোচনা করা হয় । অনেকগুলি বিকল্প বিদ্যমান যা কিউটি, এসডাব্লুটিটির মতো কী করবেন না তা সুইং থেকে শিখেছেন এবং আমি জিটিকেও মনে করি। এগুলি সুইংয়ের মাথা ব্যথার দীর্ঘমেয়াদী সমাধান

সম্পাদনা : যেমন @ লর্ড টর্গামাস বলেছিলেন, আপনার সুইং ব্যবহার করতে বাধ্য করা হলে এগুলি সত্যিই উপলভ্য নয়। আপনি যখন এই প্রকল্পটি তৈরি করেন তখন এটি নিষ্পত্তির জন্য যদি আপনি এটির সর্বোত্তম ব্যবহার করতে যাচ্ছেন তবে 3/4 এর উত্তরাধিকার অ্যাপ্লিকেশনগুলি বাছাই করার সময় নয়।

আমি এও নোট করতে চাই যে বিকল্প জিইউআই এর বেশিরভাগটি নেটিভ লাইব্রেরি ব্যবহার করে যাতে অপারেটিং সিস্টেমের মতো দেখতে, তারপরে আবার সুইং বা অন্য কোনও খাঁটি জাভা জিইউতে পড়ে যান।


4
আমি আপনার মতামতের প্রশংসা করি, তবে "সুইং ব্যবহার করবেন না" এই প্রশ্নগুলির শেষ হওয়া লোকদের পক্ষে সহায়ক নয় কারণ তারা এক কারণে বা অন্য কারণে সুইং ব্যবহার করতে বাধ্য হচ্ছে।
পোপস

@ লর্ড তাই কিউটি এবং এসডাব্লুটি পরামর্শ দেওয়ার আগে আমি বিকল্প লেআউট পরিচালকদের পরামর্শ দিয়েছিলাম suggested আপনি যে কোনও পথে ব্যবহার করতে পারেন।
TheLQ

"সুইং (আইএমএইচও) এর লেআউট সিস্টেমটি ভয়ানক, এবং এ থেকে কোনও উল্লেখযোগ্য অ্যাপ্লিকেশন তৈরি করার চেষ্টা করা দুঃস্বপ্ন" " লেআউট ম্যানেজারগুলি সুইং নয়, এডাব্লুটি থেকে আসে। মঞ্জুর, এখানে কয়েকটি সুইং নির্দিষ্ট রয়েছে, যেমন বক্সলআউট এবং গ্রুপলআউট। এটি বলার পরেও, লেআউট ম্যানেজারগুলি পুরোপুরি insteadচ্ছিক ... আপনি নিজের পরিবর্তে প্রতিটি উপাদানগুলির জন্য স্থানাঙ্কগুলি নির্দিষ্ট করতে পারেন ঠিক যেমন নেট নেটফর্মগুলিতে (নেট আপনার কাছে এটি করার জন্য একটি চমৎকার জিইউআই রয়েছে)।
পাওয়ারলর্ড

3
MigLayout - miglayout.com

1
@ দ্য এলকিউ ঠিক আছে আমি সুইংয়ের ফাইল ম্যানেজার সম্পর্কে একমত, সে সত্যিই বোকা (ম্যাক ওএস এক্সেও)। যাইহোক, আমি ঠিক করার জন্য কেবলমাত্র ডাব্লুটিটির ফাইল ম্যানেজার ব্যবহার করি। বাকি অ্যাপ্লিকেশনটি সুইং ব্যবহার করে তৈরি করা হলেও ভাল কাজ করে।
stommestack
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.