-1

JDesktopPane の背景を設定したい (これをJDesktopPaneパレットから に直接追加しますJFrame)

メソッドをオーバーライドしようとしましたが、 public void paintComponent (Graphics g)機能しません

コードは次のとおりです。

JDesktop p = new JDesktop();
ImageIcon icon = new ImageIcon("images/Nénuphars6892.jpg");
final Image img = icon.getImage();
img.getScaledInstance(159, 207, Image.SCALE_SMOOTH);
p.principal = new JDesktopPane() {
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        g2d.drawImage(img, 0, 0, getSize().width, getSize().height, this);
    }
};
p.setVisible(true);
4

2 に答える 2

5

JDesktopPane の作成時にカスタマイズ コード(変数プリンシパル)を選択することを追加することで、この問題を解決します。

principal = new javax.swing.JDesktopPane()

{
    ImageIcon icon = new ImageIcon("images/blue_digital_waves_abstract.jpg");
    Image image = icon.getImage();

    Image newimage = image.getScaledInstance(1500, 1000, Image.SCALE_SMOOTH);

    @Override
    protected void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        g.drawImage(newimage, 0, 0, this);
    }
}

;
于 2013-03-29T14:08:58.613 に答える