【问题标题】:Non-Working paintComponent method非工作paintComponent方法
【发布时间】:2010-07-11 16:24:38
【问题描述】:

代码:

import javax.swing.*;
import java.awt.*;

public class firstGUI extends JPanel {

    public static void main(String[] args) {
        JFrame frame =  new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500,500);
        frame.setVisible(true);
    }

    public void paintComponent(Graphics g) {
        Image image = new ImageIcon("dist.jpg").getImage();
        g.drawImage(image,0,0, this);
    }
}

完美编译,但是当我运行它时,它只是显示一个表单。没有图片(或paintComponent 中的任何其他操作)出现。我有什么遗漏吗?

【问题讨论】:

    标签: java jpanel paintcomponent


    【解决方案1】:

    您的paintComponent 方法是您的firstGUI 类的实例方法(JPanel)。问题是您没有创建firstGUI 的实例并将其添加到框架中。

    以下替换main 方法实例化firstGUI 并将其添加到框架的contentPane

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 500);
        frame.getContentPane().add(new firstGUI());
        frame.setVisible(true);
    }
    

    【讨论】:

    • 感谢您的修复和解释。
    猜你喜欢
    • 2016-02-09
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多