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();
}
}
![](https://img.haomeiwen.com/i11863487/3c30dcd3657486ce.png)
网友评论