Isu:
Apabila menangkap imej JTable, pengepala jadual akan tidak muncul dalam imej yang terhasil.
原因:
Pengepala JTable bukan sebahagian daripada hierarki pada masa panel dilukis pada imej, kerana ia telah telah dialih keluar apabila JOptionPane ditutup.
Penyelesaian kleopatra:
Penyelesaian camickr:
Kod Kemas Kini:
... // Without having been shown, fake a all-ready p.addNotify(); // Manually size to preferred p.setSize(p.getPreferredSize()); // Validate to force recursive doLayout of children p.validate(); BufferedImage bi = new BufferedImage(p.getWidth(), p.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = bi.createGraphics(); p.paint(g); g.dispose(); ...
Kesimpulan:
Kedua-dua penyelesaian secara berkesan menjadikan pengepala JTable dalam imej yang terhasil. Penyelesaian kleopatra menggunakan teras J2SE, manakala camickr memanfaatkan API ScreenImage untuk fungsi tambahan. Pilihan bergantung pada keperluan khusus aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk Menangkap Pengepala Jadual dalam Imej JTable yang Diberikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!