如何绘制JButton面前的Java图形?

时间:2016-07-17 15:10:16

标签: java swing draw paintcomponent jcomponent

我有一个自定义JPanel课程,我将其添加到Frame并不断更新。此类有一个重叠的paintComponent和一个JButton。如何在我JButton中绘制的图形上绘制paintComponent?我不断通过paintCompoment的循环更新此repaint(),但我不会更改JButton。我的自定义JPanel类是我的Main类的子类。

我的小组类

public class interTower extends JPanel implements ActionListener{
    public interTower(){
        setVisible(true);
        setPreferredSize(new Dimension(SCREENWIDTH, SCREENHEIGHT));

        JButton interTower_back = new JButton("Back");
        interTower_back.setActionCommand("interTower_back");
        interTower_back.addActionListener(this);
        add(interTower_back);
    }

    @Override

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        drawMaster(g2d);
        g2d.dispose();

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub

    }
}

1 个答案:

答案 0 :(得分:1)

通过跟随AndrewThompsons明智的话语,我已经解决了我的问题!处理图形对象似乎停止了按钮的渲染。删除两个对象的dispose调用似乎解决了我的问题。谢谢AndrewThompson。