首頁 > Java > java教程 > 主體

為什麼在 JOptionPane 中捕捉影像時 JTable 標頭會消失?

Patricia Arquette
發布: 2024-11-06 13:34:02
原創
242 人瀏覽過

Why does the JTable header disappear when capturing an image in a JOptionPane?

為什麼 JTable 標頭沒有出現在影像中?

使用 Java swing 函式庫擷取表格資料的影像時,可能會出現以下問題:是表格標題未出現在結果影像中的問題。發生這種情況的原因是,當將表格新增至 JScrollPane 並顯示在選項窗格中時,擷取影像時表頭不再是樹層次結構的一部分。

解決方案是將表頭添加回來在捕獲圖像之前訪問層次結構。這可以使用 addNotify() 方法來完成,如下所示:

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();
登入後複製

透過使用 addNotify() 將表頭添加回層次結構並進行佈局,當圖像被捕獲。

以上是為什麼在 JOptionPane 中捕捉影像時 JTable 標頭會消失?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!