java - 这个简单的代码有问题

标签 java

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class MyDrawPanel extends JPanel{
    public void paintComponents(Graphics g){
        g.setColor(Color.orange);
        g.fillRect(20,50,100,100);
    }
    public static void main(String[] args){
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 500);
        frame.getContentPane().add(paintComponents(g));
        frame.setVisible(true);
    }
}

我认为我应该在 frame.getContentPane().add(paintComponents(g)); 中添加一些参数。 我查找了 Graphics 类,但我仍然在努力解决它。它的参数应该是什么?

最佳答案

试试这个

public class MyDrawPanel extends JPanel{
    MyDrawPanel()
         {
         setOpaque(true);
         }


    protected void paintComponent(Graphics g){
        super.paintComponent(g);
        g.setColor(Color.orange);
        g.fillRect(20,50,100,100);
    }
    public static void main(String[] args){

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.getContentPane().add(new MyDrawPanel());
        frame.setBounds(10,10,500, 500);
        frame.setVisible(true);
    }

}

关于java - 这个简单的代码有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1396420/

相关文章:

java - Mongo/Morphia StackOverflow 错误?

java - 单独使用二进制代码的 1's and 0' s

java - Apache Camel-Quartz 集成

java - 选中的复选框

java - 查找标准的 JScrollBar 宽度或高度

java - 为 JFrame 实现清除按钮

java - 带有 Netbeans 7.3 的 Tomcat 7 不记录

java - 任务 :app:compileDebugJavaWithJavac in Android Studio java 执行失败

java - 在 Java 中,URL 连接何时关闭?

java - MMO游戏算法发送其他玩家信息?