Swing都用paint(Graphics g)吗,为什么我的窗口有时是空白

walkuere 2013-09-21 11:07:26
同样的代码,执行的时候,有时候窗口就是空白,最小化一下再最大化就好了
我的东西就是显示一些jpg
没用paint(Graphics g)
小白不怎么会,请高手指点下。。。

我的主程序extends JFrame
里面是个JPanel
然后再是不同的JPanel
互相不重叠
有一个工具栏是要切换的,还没做
...全文
172 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Inhibitory 2013-09-21
  • 打赏
  • 举报
回复
可以参考这个模板
import javax.swing.*;
import java.awt.*;

public class SwingTemplate extends JPanel {
    public SwingTemplate() {
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        // Your drawing code
        g.fillRect(10, 10, 100, 100);
    }

    private static void createAndShowGUI() {
        JFrame frame = new JFrame();

        frame.setContentPane(new SwingTemplate());

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600, 600);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}
huntor 2013-09-21
  • 打赏
  • 举报
回复
一般继承JPanel/JComponent,重写paintComponent,然后设为JFrame的contentPane。
  • 打赏
  • 举报
回复
贴代码

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧