无法在java上创建我自己的绘图小部件[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在java上创建我自己的绘图小部件[关闭]相关的知识,希望对你有一定的参考价值。

我坚持使用4行代码。他们应该让我创建自己的小部件。

但似乎缺少main方法。

我试图在我自己写一个主类,并在paintComponent()方法中创建一个没有运气的对象。

我知道我不应该自己调用这个方法,但是当我运行程序时,我得到的错误主要方法没有在课堂上找到....

有人可以解释一下这是如何工作的,或者给我一个阅读链接?

这是我尝试的简单代码:

import javax.swing.*;

import java.awt.*;

class MyDrawPanel extends JPanel {

    public void paintComponent(Graphics g) {
        g.setColor(Color.orange);
        g.fillRect(20, 50, 100, 100);
    }
}
答案

试试这个简单的代码,它应该对您有所帮助:

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

public class MyDrawPanel extends JPanel {

    private static final int WIDE = 300;
    private static final int HIGH = 200;


    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.orange);
        g.fillRect(20, 50, 100, 100);
    }

    public MyDrawPanel() {
        setBackground(Color.white);
        // Set a initial size for the program window
        this.setPreferredSize(new Dimension(WIDE, HIGH));
    }

     private void display() {
        // Some statements to let the JFrame appear in a good way
        JFrame f = new JFrame("MyDrawPanel");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(this);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

     // Main method is called when the program is runned
     public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new MyDrawPanel().display();
            }
        });
    }
}

输出:

enter image description here

另一答案

如果你是java的新手,我建议你在Tutorials | Javatpoint上给4-5天。

Java规则是java文件名应该与包含main方法的类名匹配。

所以主要方法的简单代码:

class Simple {  
    public static void main(String args[]) {  
    System.out.println("Hello Java");  
    }  
}  

在这种情况下,此代码应该在Simple.java文件中。

以上是关于无法在java上创建我自己的绘图小部件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

FLTK 绘图功能使用哪个原点?小部件还是窗口?

创建一个图形,其中包含按 gridspec 布局排列的绘图、滑块和其他小部件

如何在颤动中实现以下小部件? [关闭]

如何将鼠标点击信号连接到 pyqtgraph 绘图小部件

散景仪表板布局;小部件布局不显示

Matplotlib 小部件用于由另一个 matplotlib 小部件生成的绘图