Java如何在actionperform中调用paint

时间:2016-05-30 05:49:34

标签: java action call paint

我尝试在执行中调用paint但是它不起作用

btnNewButton_5.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            class MyCanvas extends JComponent {

                public void paint(Graphics g) {
                    g.drawLine(10,20,50,60);
                }
            }


            JFrame window = new JFrame();
            window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            window.setBounds(30, 30, 300, 300);
            window.getContentPane().add(new MyCanvas());
            window.setVisible(true);

        }
    });

问题是它只显示框架但矩形没有显示

如何编辑此代码帮助我

1 个答案:

答案 0 :(得分:0)

首先,你应该在你的类上实现paint()方法,然后在ActionListener上使用repaint()方法调用它作为简单的函数调用。