0

検索できる解決策をjpegJPanel画像として保存する方法はありますか?表示のスナップショットを取得します。画像全体をjpegで取得する方法はありますか。JPanel

ここで利用可能なこのソリューションは、まったく機能していません

JPanelのスナップショットを取得するために現在使用しているコード

if (panelx == null) {
            jButton3.setText("Generate Diagram");
        } else {
            jButton3.setText("Generate Diagram");
            jTextPane1
                    .setText(Messages.getString("statement2")); //$NON-NLS-1$
            JFrame win = (JFrame) SwingUtilities
                    .getWindowAncestor(panelx.panelx);
            Dimension size = win.getSize();
            // BufferedImage image = new BufferedImage(size.width, size.height,
            // BufferedImage.TYPE_INT_RGB);
            BufferedImage image = (BufferedImage) win.createImage(size.width,
                    size.height);
            Graphics g = image.getGraphics();
            win.paint(g);
            g.dispose();
            try {

                ImageIO.write(
                        image,
                        Messages.getString("Statement38"), new File(Messages.getString("statement5"))); //$NON-NLS-1$ //$NON-NLS-2$
            } catch (IOException e) {
                System.out.println("Image cannot be created");
            }
4

1 に答える 1

0

例が機能しない理由を説明していません。

なぜパネルではなく窓を使っているのですか?回答例を使用していた場合は、スクロールペイン内のパネルを参照する必要があります。

関心のあるパネルだけでなく、JFrame 全体でペイントを呼び出しています。

于 2012-07-07T11:25:23.630 に答える