سؤال

ولدي JFrame. يحتوي هذا JFrame على JButton. I انقر يتم إنشاء JButton و 10 JTextFields.

المشكلة: لا استطيع ان ارى لهم حتى "I فرض إعادة رسم ()" عن طريق تغيير حجم النافذة. ثم تفعل سوى أرى JTextFields بإنشائه.

وCODE:

JPanel points = new JPanel();

//Creating the JTextFields:
for (int i=0; i<10; i++) {
    JTextField textField = new JTextField();
    points.add(textField);
}

repaint();
this.repaint();
super.repaint();
points.repaint();

وشكرا لكم - بعد points.validate للحلقة، وأنا فقط ودعا () وانها عملت ...

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

المحلول

Container.add مستندات API sayeth:

<اقتباس فقرة>   

ملحوظة: إذا تم إضافة عنصر إلى   حاوية التي تم عرضها،   يجب استدعاء في ذلك التحقق من صحة   حاوية لعرض الجديد   مكون. إذا مكونات متعددة هي   يجري المضافة، يمكنك تحسين   الكفاءة من خلال الدعوة تحقق فقط   مرة واحدة، بعد كل مكونات لها   أضيفت.

وانها غامضة وغير ذكي جدا، ولكن من القواعد. قد يكون من الأفضل أن يدعو JComponent.revalidate

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