Mengapakah pengepala JTable tidak muncul dalam imej?
Apabila menangkap imej data jadual menggunakan perpustakaan Java swing, mungkin terdapat menjadi isu di mana pengepala jadual tidak muncul dalam imej yang terhasil. Ini berlaku kerana apabila jadual ditambahkan pada JScrollPane dan ditunjukkan dalam anak tetingkap pilihan, pengepala jadual tidak lagi menjadi sebahagian daripada hierarki pepohon apabila imej ditangkap.
Penyelesaiannya ialah menambah pengepala jadual kembali. kepada hierarki sebelum menangkap imej. Ini boleh dilakukan menggunakan kaedah addNotify(), seperti yang ditunjukkan di bawah:
JTable table = new JTable(); JScrollPane scroll = new JScrollPane(table); JPanel p = new JPanel(new BorderLayout()); p.add(scroll, BorderLayout.CENTER); JOptionPane.showMessageDialog(null, p); table.addNotify(); p.doLayout(); BufferedImage bi = new BufferedImage(p.getWidth(), p.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = bi.createGraphics(); p.paint(g); g.dispose();
Dengan menambahkan pengepala jadual kembali ke hierarki menggunakan addNotify() dan melakukan susun atur, pengepala akan kelihatan apabila imej ditangkap.
Atas ialah kandungan terperinci Mengapakah pengepala JTable hilang apabila menangkap imej dalam JOptionPane?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!