একটি জাভা সুইং অ্যাপ্লিকেশনটিতে উইন্ডো পরিচালনার জন্য নকশার প্যাটার্ন


9

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

আমি নিশ্চিত না যে সেই কার্যকারিতাটি তৈরি করার সর্বোত্তম উপায় কী। একটি পদ্ধতি JFrameহ'ল আমার যুক্তি হিসাবে আমার কাছে ... কেবলমাত্র প্রতিটি অন্যান্য উপাদান সম্পর্কে, তবে এটি আমার কাছে মনে হচ্ছে দুর্বোধ্য। অথবা, প্রতিটি প্যানেলকে অ্যাকশন শ্রোতা হিসাবে দ্বিগুণ করে তুলছে, তবে এটিও সঠিক বলে মনে হয় না।

আমি এখানে প্রয়োগ করা উচিত একটি নকশা প্যাটার্ন আছে? "মূল - এবং শুধুমাত্র - উইন্ডো" এর বিষয়বস্তুগুলি প্রতিস্থাপন করুন একটি যুক্তিসঙ্গত সাধারণ অপারেশন হতে হবে। প্যাটার্নের জন্য একটি নাম যথেষ্ট হবে; আমি সেখান থেকে গুগলকে নিজের মতো করে ব্যবহার করতে পারি। (তবে আমি আর বেশি ব্যাখ্যা দিতে বলব না।)


এটি প্রকৃত প্রোগ্রামিং কৌশল সম্পর্কে একটি প্রশ্ন, আপনি স্ট্যাক ওভারফ্লোতে সম্ভবত আরও অনেক উত্তর পাবেন।
অ্যালেক্স ফেনম্যান

উত্তর:


6

সুইং অ্যাপ্লিকেশনগুলি তৈরি করার সময়, আমি সাধারণত এটিকে মধ্যস্থতাকারী প্যাটার্নের ভিত্তিতে করি। এই ধাঁচে, একটি মধ্যস্থতাকারী শ্রেণি (সাধারণত প্রধান জেফ্রেমে) বিভিন্ন জিইউআই অংশগুলি (সাধারণত জেপানেলস, জেমনাস ...) পরিচালনা করে এবং তাদের মধ্যে যোগাযোগের যত্ন নেয়।

উদাহরণস্বরূপ, যদি JPanel1 এ কোনও ঘটনা ঘটে থাকে, JPanel1 মধ্যস্থতাকারীকে (JFrame) অবহিত করে। এরপরে JFrame JPanel2 সংশোধন করে পদক্ষেপ নেয়।

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


4

আপনি প্রধান পদ্ধতিতে একটি JDialog প্রদর্শন করতে পারেন। ডায়ালগটি বন্ধ হয়ে গেলে মূল জেফ্রেম তৈরি এবং প্রদর্শিত হয়।

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

কিছু পুরানো ইউআই ফ্রেমওয়ার্কের বিপরীতে, একটি সুইং অ্যাপ্লিকেশন নির্দিষ্ট ফ্রেম বা উইন্ডোতে আবদ্ধ নয়। আপনি যত খুশি উইন্ডো তৈরি করতে পারেন। অ্যাপ্লিকেশনটি শেষ হয় যখন সমস্ত থ্রেডগুলি শেষ হয়, যখন সমস্ত উইন্ডো নিষ্পত্তি হয় না। এটি সাধারণত System.exit (0) দিয়ে অর্জন করা হয়।

আমি জানি না যে সে ক্ষেত্রে নির্দিষ্ট নকশার প্যাটার্ন রয়েছে কিনা। আমি জাভা সুইং টিউটোরিয়াল সুপারিশ।


1
-1। এটি একটি নকশা প্যাটার্ন প্রশ্ন। আমাকে দেওয়া চশমাগুলি পরিবর্তন করার প্রস্তাব দিয়ে এবং "নির্দিষ্ট নকশার প্যাটার্ন রয়েছে কিনা তা আমি জানি না" এর উত্তর দেয় না।
পোপস

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

2

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

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.