Java AWT标签/按钮/文本字段+;油漆?

Java AWT标签/按钮/文本字段+;油漆?,java,awt,draw,paint,Java,Awt,Draw,Paint,如何在标签/按钮下方绘制-爪哇 我想为ax^2+bx+c编写一个坐标计算程序,但这不是重点 我只想通过AWT和绘画方法绘制图形。(尚未实现),但我无法在前景中设置绘制方法。你能帮我解决这个问题吗,这样油漆至少能看得见 我附上了我的想法大纲。 对不起,我英语不好 `您以前没有设置颜色 g.fillRect(10, 10, 300, 300); 我大概两个月左右就解决了这个问题,但我现在有点动力,所以我要自己回答我的问题。信息:repaint()调用paint,因此您不必自己实现此方法 在任务中

如何在标签/按钮下方绘制-爪哇

我想为ax^2+bx+c编写一个坐标计算程序,但这不是重点

我只想通过AWT和绘画方法绘制图形。(尚未实现),但我无法在前景中设置绘制方法。你能帮我解决这个问题吗,这样油漆至少能看得见

我附上了我的想法大纲。 对不起,我英语不好


`您以前没有设置颜色

g.fillRect(10, 10, 300, 300);

我大概两个月左右就解决了这个问题,但我现在有点动力,所以我要自己回答我的问题。信息:repaint()调用paint,因此您不必自己实现此方法

在任务中,我忘记了:

  • -生成画布
  • -使用布局管理器
  • -使用repaint()方法调用paint;或更新()
问题只是如何绘制,在阅读以下代码后应该清楚:

package delete;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;

public class AwtFrame extends Frame {
    AwtCanvas c;
    Panel p1;
    Label la_ax2, la_bx, la_c;
    TextField tf_Ax2, tf_bx, tf_c;

    public AwtFrame() {
        super("paint example.");
        this.setSize(800, 800);

        initComp();
        addComp();

        // TODO: write a graph drawing method
        c.repaint(); // paints a line of your graph

        this.setVisible(true);
    }

    public void initComp() {
        p1 = new Panel();
        la_ax2 = new Label("x^2 ");
        la_bx = new Label("+ x ");
        la_c = new Label("+ c ");

        tf_Ax2 = new TextField(0);
        tf_bx = new TextField(0);
        tf_c = new TextField(0);
        c = new AwtCanvas();
    }

    public void addComp() {
        this.setLayout(new BorderLayout());
        p1.setLayout(new FlowLayout());

        this.add(p1, BorderLayout.NORTH);
        this.add(c, BorderLayout.CENTER);

        p1.add(tf_Ax2);
        p1.add(la_ax2);
        p1.add(tf_bx);
        p1.add(la_bx);
        p1.add(tf_c);
        p1.add(la_c);
    }

    public static void main(String[] args) {
        new AwtFrame();
    }
}



package delete;

import java.awt.Canvas;
import java.awt.Graphics;
import java.util.LinkedList;

public class AwtCanvas extends Canvas {
//  LinkedList<ToImplement> coords = new LinkedList<ToImplement>();


    // TODO: implement plotter
    public void paint(Graphics g) {
        g.drawLine(40, 40, 100, 100);
        g.drawLine(54, 22, 300, 200);
    }

}
包删除;
导入java.awt.BorderLayout;
导入java.awt.FlowLayout;
导入java.awt.Frame;
导入java.awt.Label;
导入java.awt.Panel;
导入java.awt.TextField;
公共类AwtFrame扩展框架{
AwtCanvas c;
小组p1;
标签la_ax2、la_bx、la_c;
文本字段tf_Ax2、tf_bx、tf_c;
公共AwtFrame(){
超级(“绘画示例”);
这个。设置大小(800800);
initComp();
addComp();
//TODO:编写图形绘制方法
c、 repaint();//绘制图形的一条线
此.setVisible(true);
}
public void initComp(){
p1=新面板();
la_ax2=新标签(“x^2”);
la_bx=新标签(“+x”);
la_c=新标签(“+c”);
tf_Ax2=新文本字段(0);
tf_bx=新文本字段(0);
tf_c=新文本字段(0);
c=新的AwtCanvas();
}
公共无效addComp(){
此.setLayout(新的BorderLayout());
p1.setLayout(新的FlowLayout());
添加(p1,BorderLayout.NORTH);
添加(c,BorderLayout.CENTER);
p1.添加(tf_Ax2);
p1.添加(la_ax2);
p1.添加(tf_bx);
p1.添加(la_bx);
p1.添加(tf_c);
p1.添加(la_c);
}
公共静态void main(字符串[]args){
新AwtFrame();
}
}
包删除;
导入java.awt.Canvas;
导入java.awt.Graphics;
导入java.util.LinkedList;
公共类AwtCanvas扩展画布{
//LinkedList coords=新建LinkedList();
//TODO:实现绘图仪
公共空间涂料(图g){
g、 抽绳(40、40、100、100);
g、 抽绳(54、22、300、200);
}
}

它不工作。如果我设置了前景色和背景色,油漆将保持不可见
package delete;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;

public class AwtFrame extends Frame {
    AwtCanvas c;
    Panel p1;
    Label la_ax2, la_bx, la_c;
    TextField tf_Ax2, tf_bx, tf_c;

    public AwtFrame() {
        super("paint example.");
        this.setSize(800, 800);

        initComp();
        addComp();

        // TODO: write a graph drawing method
        c.repaint(); // paints a line of your graph

        this.setVisible(true);
    }

    public void initComp() {
        p1 = new Panel();
        la_ax2 = new Label("x^2 ");
        la_bx = new Label("+ x ");
        la_c = new Label("+ c ");

        tf_Ax2 = new TextField(0);
        tf_bx = new TextField(0);
        tf_c = new TextField(0);
        c = new AwtCanvas();
    }

    public void addComp() {
        this.setLayout(new BorderLayout());
        p1.setLayout(new FlowLayout());

        this.add(p1, BorderLayout.NORTH);
        this.add(c, BorderLayout.CENTER);

        p1.add(tf_Ax2);
        p1.add(la_ax2);
        p1.add(tf_bx);
        p1.add(la_bx);
        p1.add(tf_c);
        p1.add(la_c);
    }

    public static void main(String[] args) {
        new AwtFrame();
    }
}



package delete;

import java.awt.Canvas;
import java.awt.Graphics;
import java.util.LinkedList;

public class AwtCanvas extends Canvas {
//  LinkedList<ToImplement> coords = new LinkedList<ToImplement>();


    // TODO: implement plotter
    public void paint(Graphics g) {
        g.drawLine(40, 40, 100, 100);
        g.drawLine(54, 22, 300, 200);
    }

}