كيف يمكنني تبديل لوحات داخل إطار اعتمادا على عمل زر؟

StackOverflow https://stackoverflow.com/questions/840893

سؤال

ولقد خلق تطبيق يحتوي على شريط الأدوات، القوائم ومنطقة المحتوى. واضاف لقد القائمة وشريط الأدوات إلى إطار التطبيق، ولكن أنا عالقة مع عرض لوحة في مجال المحتوى على أساس عمل زر (مثل إضافة أو عرض) التي يتم النقر من خلال شريط الأدوات. هل هذه الطريقة الصحيحة للقيام بذلك؟ هل هناك أي طريقة أفضل للقيام بذلك؟

هل كانت مفيدة؟

المحلول

إذا فهمت بشكل صحيح، كنت تريد أن يكون JPanels متعددة، واحد منها فقط هو مبين في وقت واحد؟ إذا كان هذا هو الحال، فإنه يبدو وكأنه CardLayout هو ما تحتاجه. كنت في الأساس على إضافة كل ما تبذلونه من JPanels إليها مع أسماء فريدة من نوعها، ومن ثم يمكن أن أقول لكم CardLayout من منهم إلى <لأ href = "http://java.sun.com/javase/6/ مستندات / المعهد / جافا / الهجوم الجوي / CardLayout.html # عرض (java.awt.Container،٪ 20java.lang.String) "يختلط =" noreferrer "> عرض .

نصائح أخرى

وأعتقد CardLayout هو على الارجح ما تريد، ولكن إذا كان هناك شيء مثل استخدام الذاكرة هو مصدر قلق وكنت تريد حقا لإزالة وإضافة الجديد JPanel / المكون، تحتاج إلى إزالة JPanel القديم وإضافة واحدة جديدة (مع سليم القيود و / أو مؤشر تبعا للتخطيط). سيكون لديك للتحقق من صحة () الجزء المحتوى بعد إجراء التبديل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top