سؤال

جافا مبتدئ هنا.لدي JFrame أن أضفت إلى netbeans المشروع ، و لقد أضاف الأسلوب التالي إلى ذلك ، مما يخلق JTable.المشكلة لسبب ما عند استدعاء هذا الأسلوب ، JTable لا يتم عرض.أي اقتراحات ؟

public void showFromVectors(Vector colNames, Vector data) {     
    jt = new javax.swing.JTable(data, colNames);
    sp = new javax.swing.JScrollPane(jt);
    //NB: "this" refers to my class DBGridForm, which extends JFrame
    this.add(sp,java.awt.BorderLayout.CENTER);
    this.setSize(640,480);
}

الأسلوب يسمى في السياق التالي:

DBGridForm gf = new DBGridForm(); //DBGridForm extends JFrame
DBReader.outMatchesTable(gf);
gf.setVisible(true);

...حيث DBReader.outMatchesTable() ويعرف

static public void outMatchesTable(DBGridForm gf) {
    DBReader ddb = new DBReader();
    ddb.readMatchesTable(null);
    gf.showFromVectors(ddb.lastRsltColNames, ddb.lastRsltData);
}

تخميني هو أنا تطل شيء ، إما عن البديل فئات أنا باستخدام أو جافا.أي أفكار ؟

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

المحلول

"هذا" في سياق غير واضح.هل هو داخل الصغير?أ JFrame?

قد يكون لها تخطيط المشكلة تأكد من كنت قد دعا setLayout على فئة جديدة borderlayout.

في تطبيق البديل ، قد ترغب في استخدام getRootContentPane().إضافة() بدلا من الخام إضافة () ، اعتمادا على نسخة.

جافا البرنامج التعليمي على إضافة أعلى مستوى المحتوى: http://java.sun.com/docs/books/tutorial/uiswing/components/toplevel.html

نصائح أخرى

إذا كنت لا تعمل على موضوع الحدث ، يمكن أن يكون مشكلة-رأيت أن تسبب أشياء لا عرض.

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

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