AWT绘图

作者: 开心的小哈 | 来源:发表于2021-11-18 21:38 被阅读0次
package htget;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class AWTDemo {
    public static void main(String[] args) {
        new AWTDemo().intt();
    }

    MyD myD = new MyD();

//  CanvasD myD = new CanvasD();
    public void intt() {
//      myD.setSize(new Dimension(300, 300));
        Frame frame = new Frame("demo");

        Button button = new Button("test");
        button.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                myD.repaint();
                myD.setBounds(0, 0, 100, 200);
            }
        });
//      myD.setPreferredSize(new Dimension(100, 100));
        myD.setBounds(0, 0, 100, 100);
        frame.add(myD);
        frame.add(button, BorderLayout.SOUTH);
        frame.pack();
        frame.setVisible(true);

    }

    public class MyD extends Canvas {
        public void paint(Graphics g) {
            System.out.println("--------");
            g.setColor(Color.RED);
            g.drawRect(0, 0, 100, 150);
            g.fillRect(0, 0, 100, 150);
//          g.drawLine(0, 20, 100, 100);

        }
    }
}

test 2

package com.main;

import javax.swing.*;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
import java.awt.*;
import java.awt.event.*;

public class MassageDialogDeom {
    private final String RECT="rect";
    private final String OVAL="oval";
    String shape="";

    public void init(){
//自定义类继承Canvas类重写paint方法
        MyCanvas myCanvas = new MyCanvas();
        myCanvas.setPreferredSize(new Dimension(300,200));

        Frame jFrame=new Frame("test Menu");
        Button draw_rectangle = new Button("draw rectangle");
        Button draw_oval = new Button("draw oval");
        draw_rectangle.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("123123");
                shape=RECT;
                myCanvas.repaint();
                System.out.println("12312111111111113");
            }
        });
        draw_oval.addActionListener(new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("123123");
                shape=OVAL;
                myCanvas.repaint();
            }
        });

        Panel panel = new Panel();
        panel.add(draw_rectangle);
        panel.add(draw_oval);
        jFrame.add(myCanvas);
        jFrame.add(panel,BorderLayout.SOUTH);
        jFrame.pack();
        jFrame.setVisible(true);
    }
private class MyCanvas extends Canvas{
    @Override
    public void paint(Graphics g) {

        System.out.println(g.getColor()+"--------------");
        if(shape.equals(RECT)){
            g.setColor(Color.BLACK);
            g.drawRect(100,100,150,100);
            g.fillRect(0,0,150,100);
            System.out.println(g.getColor()+"123123");
        }else if(shape.equals(OVAL)){
            System.out.println(g.getColor()+"123123");
            g.setColor(Color.RED);
           g.drawOval(100,100,150,100);
        }

    }

//    @Override
//    public void printAll(Graphics g) {   System.out.println(g.getColor()+"123123");
//        if(shape.equals(RECT)){
//            g.setColor(Color.BLACK);
//            g.drawRect(100,100,150,100);
//            g.fillRect(0,0,150,100);
//            System.out.println(g.getColor()+"123123");
//        }else if(shape.equals(OVAL)){
//            System.out.println(g.getColor()+"123123");
//            g.setColor(Color.RED);
//           g.drawOval(100,100,150,100);
//        }
//        super.printAll(g);
//    }
}
    public static void main(String[] args) {
        new MassageDialogDeom().init();

    }
}


image.png

相关文章

网友评论

      本文标题:AWT绘图

      本文链接:https://www.haomeiwen.com/subject/upjpzltx.html