سؤال

يتصرف Jmenu بشكل طبيعي حتى يتم استخدام JButton لتحديث Jtable على JFrame. ثم يتم إخفاء jmenu في الغالب بواسطة jpanel (انظر الصور أدناه). ألا ينبغي أن يكون Jmenu دائمًا في المقدمة عند اختياره؟ لماذا تم دفعه إلى الظهر؟ الرمز الذي يقوم بتحديث الجدول على jButtonAddActionPerformed هو.

public class MyClass extends javax.swing.JFrame {
    private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt) {
        DefaultTableModel model = (DefaultTableModel) jTable.getModel();
        model.addRow(new Object[]{"", DEFAULT_ON, DEFAULT_OFF});
        int lastRow = jTable.getRowCount() - 1;
        jTable.setValueAt(lastRow + 1, lastRow, 0);
    }                                                  
...

مُتوقع

alt text

مكسور

alt text

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

المحلول

ربما لأنك تستخدم قماشًا عندما يجب أن تستخدم JPanel. Canvas هو مكون AWT ويتم رسمه فوق مكونات التأرجح. لا تستخدم مكونات AWT في تطبيق التأرجح.

يحرر:

إذا كنت بحاجة حقًا إلى استخدام مكون AWT ، فأنت بحاجة إلى إصدار حالي من JDK. رؤية خلط المكونات الثقيلة والخفيفة.

نصائح أخرى

أود أن أقترح القراءة خلط المكونات الثقيلة وخفيفة الوزن للمزيد من المعلومات.

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