JOptionPane で画像をキャプチャすると JTable ヘッダーが消えるのはなぜですか?

Patricia Arquette
リリース: 2024-11-06 13:34:02
オリジナル
241 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!