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