java畫圓和矩形代碼 java畫一個矩形

java中做一個按鈕,點擊按鈕后畫一個矩形的代碼怎么寫?

兄弟幫你寫了一個:

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的華鎣網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

import java.awt.Button;

import java.awt.Color;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.util.Random;

public class Print {

public static void main(String[] args) {

new Te();

}

}

class Te extends Frame implements ActionListener {

Color cc = Color.red;

int x = -20, y = -50;

Random r = new Random();

public Te() {

this.setLayout(null);

Button b = new Button("畫圓");

this.add(b);

b.setBounds(30,30,50,50);

b.addActionListener(this);

this.addWindowListener(new WindowAdapter () {

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

this.setBounds(200,200,500,400);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e) {

this.cc = Color.red;

this.x = r.nextInt(400);

do {

int x1 = r.nextInt(300);

this.y = x1;

} while (this.y 50);

this.repaint();

}

@Override

public void paint(Graphics g) {

Color c = g.getColor();

g.setColor(cc);

g.drawRect(x,y,50,50);

g.setColor(c);

}

}

編寫Java Applet程序畫圓 矩形和直線,繼承實現(xiàn)(多態(tài)實現(xiàn))各個類都能實現(xiàn)構(gòu)造方法

PainterPanel.java 代碼:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

public class PainterPanel extends JPanel implements MouseListener{

int shape=-1; //圖案類型

Point[] point=new Point[2]; //記錄鼠標(biāo)拖動的起始點和終點

public PainterPanel(){

super(); //調(diào)用父類構(gòu)造函數(shù)

this.setBackground(Color.white); //設(shè)置背景顏色

point[0]=new Point(-1,-1); //初始化變量

point[1]=new Point(-1,-1);

addMouseListener(this); //增加鼠標(biāo)事件

}

public void mouseReleased(MouseEvent e){ //鼠標(biāo)釋放事件

point[1]=new Point(e.getX(),e.getY()); //設(shè)置終點位置

repaint(); //重繪屏幕

}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mouseClicked(MouseEvent e){}

public void mousePressed(MouseEvent e){ //鼠標(biāo)按下時事件

point[0]=new Point(e.getX(),e.getY()); //設(shè)置起始點位置

}

public void paint(Graphics g){

super.paint(g);

switch (shape){ //根據(jù)shape值繪制圖形

case 0:

g.drawLine(point[0].x,point[0].y,point[1].x,point[1].y); //繪線

break;

case 1:

int width=point[1].x-point[0].x;

int height=point[1].y-point[0].y;

g.drawOval(point[0].x,point[0].y,width,height); //繪橢圓

break;

case 2:

width=point[1].x-point[0].x;

height=point[1].y-point[0].y;

g.drawRect(point[0].x,point[0].y,width,height); //繪矩形

break;

}

}

public void drawShape(int shape){

this.shape=shape;

}

}

PainterDemo.java 代碼

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

class PainterPanel extends JPanel implements MouseListener

{

int shape = -1; //圖案類型

Point point[] = new Point[2]; //記錄鼠標(biāo)拖動的起始點和終點

public PainterPanel ()

{

super ();

this.setBackground(Color.white);//設(shè)置背景顏色

point[0] = new Point (-1, -1);//初始化變量

point[1] = new Point (-1, -1);

addMouseListener (this);//增加鼠標(biāo)事件

}

public void mouseReleased(MouseEvent e)//鼠標(biāo)釋放事件

{

point[1]=new Point(e.getX(),e.getY()); //設(shè)置終點位置

repaint(); //重繪屏幕

}

public void mouseEntered (MouseEvent e){}

public void mouseExited (MouseEvent e){}

public void mouseClicked (MouseEvent e){}

public void mousePressed (MouseEvent e) //鼠標(biāo)按下時事件

{

point[0] = new Point(e.getX(), e.getY()); //設(shè)置起始點位置

}

public void paint(Graphics g)

{

super.paint(g);

switch (shape) //根據(jù)shape值繪制圖形

{

case 0:

g.drawLine (point[0].x, point[0].y, point[1].x, point[1].y); //繪線

break;

case 1:

int width = point[1].x - point[0].x;

int height= point[1].y - point[0].y;

g.drawOval (point[0].x, point[0].y, width, height); //繪橢圓

break;

case 2:

width = point[1].x - point[0].x;

height = point[1].y - point[0].y;

g.drawRect(point[0].x, point[0].y, width, height); //繪矩形

break;

}

}

public void drawShape(int shape)

{

this.shape=shape;

}

}

public class PainterDemo extends JFrame

{

JButton[] button = new JButton[3]; //按鈕組 創(chuàng)建最初未選定的切換按鈕,不設(shè)置文本或圖像。

PainterPanel painter = new PainterPanel(); //繪圖面板

public PainterDemo()

{

super("Java畫圖程序"); //調(diào)用父類構(gòu)造函數(shù)

String[] buttonName = {"直線", "橢圓", "矩形"}; //按鈕文字

DrawShapeListener buttonListener = new DrawShapeListener(); //按鈕事件

JToolBar toolBar = new JToolBar(); //實例化工具欄

ButtonGroup buttonGroup = new ButtonGroup(); //實例化按鈕組

for (int i = 0; i button.length; i ++)

{

button[i] = new JButton (buttonName[i]); //實例化按鈕

button[i].addActionListener (buttonListener); //增加按鈕事件處理

buttonGroup.add(button[i]); //增加按鈕到按鈕組

toolBar.add(button[i]); //增加按鈕到工具欄

}

Container container=getContentPane(); //得到窗口容器

container.add (toolBar,BorderLayout.NORTH); //增加組件到容器上

container.add (painter,BorderLayout.CENTER);

setSize(300,200); //設(shè)置窗口尺寸

setVisible(true); //設(shè)置窗口為可視

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關(guān)閉窗口時退出程序

}

class DrawShapeListener implements ActionListener //按鈕事件處理

{

public void actionPerformed(ActionEvent e)

{

for (int i = 0; i button.length; i ++)

{

if (e.getSource() == button[i]) //判斷來自于哪個按鈕

{

painter.drawShape(i); //繪制圖形

}

}

}

}

public static void main(String[] args)

{

new PainterDemo();

}

}

求一個java程序:繪圖程序包括畫圓,橢圓,線,矩形,自定義。并且可以調(diào)圖形顏色!

public?enum?ShapeTypes?{

LINE,?CIRCLE,?RECTANGLE

}

public?interface?Shape?{

void?paint(Graphics?g);

}

public?class?Rectangle?implements?Shape?{

//?矩形左上角的坐標(biāo)

private?int?x,?y;

//?矩形的寬度和高度

private?int?width,?height;

private?Color?rectangleColor;

public?Rectangle()?{

super();

}

public?Rectangle(int?x,?int?y,?int?width,?int?height,?Color?rectangleColor)?{

super();

this.x?=?x;

this.y?=?y;

this.width?=?width;

this.height?=?height;

this.rectangleColor?=?rectangleColor;

}

@Override

public?void?paint(Graphics?g)?{

g.setColor(rectangleColor);

g.drawRect(x,?y,?width,?height);

}

}

public?class?Line?implements?Shape?{

//?直線的起始位置

private?int?x1,?y1;

//?直線的終止位置

private?int?x2,?y2;

private?Color?lineColor;

public?Line(int?x1,?int?y1,?int?x2,?int?y2,?Color?lineColor)?{

super();

this.x1?=?x1;

this.y1?=?y1;

this.x2?=?x2;

this.y2?=?y2;

this.lineColor?=?lineColor;

}

public?Line()?{

super();

}

@Override

public?void?paint(Graphics?g)?{

g.setColor(lineColor);

g.drawLine(x1,?y1,?x2,?y2);

}

}

public?class?Circle?implements?Shape?{

//?圓的顏色

private?Color?circleColor;

//?圓心的坐標(biāo)

private?int?x,?y;

//?圓的半徑

private?int?radius;

public?Circle()?{

super();

}

public?Circle(int?x,?int?y,?int?radius,?Color?circleColor)?{

super();

this.circleColor?=?circleColor;

this.x?=?x;

this.y?=?y;

this.radius?=?radius;

}

@Override

public?void?paint(Graphics?g)?{

g.setColor(circleColor);

//?畫弧,?當(dāng)弧的寬度和高度一致且從0~360度時就是原形了

g.drawArc(x,?y,?radius,?radius,?0,?360);

}

}

public?class?SketchpadPanel?extends?Canvas?implements?MouseListener,?MouseMotionListener?{

private?static?final?long?serialVersionUID?=?-5229161042153132522L;

//?鼠標(biāo)點擊起始坐標(biāo)和當(dāng)前坐標(biāo)

private?int?beginX?=?0,?beginY?=?0,?currentX?=?0,?currentY?=?0;

//?判斷鼠標(biāo)是否被按下

private?boolean?isMousePressing?=?false;

//?保存當(dāng)前的圖形,?在撤銷和恢復(fù)時使用

private?final?StackShape?currentShapes?=?new?StackShape();

//?保存已經(jīng)刪除過的圖形

private?final?StackShape?deletedShapes?=?new?StackShape();

private?ShapeTypes?type;

private?Color?color;

public?SketchpadPanel()?{

addMouseListener(this);

addMouseMotionListener(this);

}

/**

?*?撤銷方法

?*/

public?void?undo()?{

if?(currentShapes.size()??0)?{

//?從所有保存過的圖形中取出最后一個,?放入到已刪除的圖形中去

Shape?shape?=?currentShapes.pop();

deletedShapes.push(shape);

repaint();

}

}

/**

?*?恢復(fù)撤銷方法

?*/

public?void?redo()?{

if?(deletedShapes.size()??0)?{

//?從所有刪除的圖形中取出最后一個,?放入保存的圖形中

Shape?shape?=?deletedShapes.pop();

currentShapes.push(shape);

repaint();

}

}

/**

?*?設(shè)置命令

?*?

?*?@param?type

?*/

public?void?setShapeType(ShapeTypes?type)?{

this.type?=?type;

}

/**

?*?設(shè)置顏色

?*?

?*?@param?color

?*/

public?void?setColor(Color?color)?{

this.color?=?color;

}

public?void?updete(Graphics?g)?{

paint(g);

}

/**

?*?繪制畫板

?*/

@Override

public?void?paint(Graphics?g)?{

//?繪制畫板

Dimension?size?=?getSize();

int?width?=?size.width;

int?height?=?size.height;

g.setColor(Color.WHITE);

g.fillRect(0,?0,?width,?height);

//?繪制所有圖形

Shape?shape?=?null;

EnumerationShape?e?=?currentShapes.elements();

while?(e.hasMoreElements())?{

shape?=?e.nextElement();

shape.paint(g);

}

//?如果當(dāng)前鼠標(biāo)沒有釋放

if?(isMousePressing)?{

g.setColor(color);

switch?(type)?{

//?繪制直線

case?LINE:

g.drawLine(beginX,?beginY,?currentX,?currentY);

break;

//?繪制矩形

case?RECTANGLE:

if?(currentX??beginX)?{

if?(currentY??beginY)?{

//?如果當(dāng)前位置在起始位置的左上方,?則以鼠標(biāo)當(dāng)前位置為矩形的左上角位置

g.drawRect(currentX,?currentY,?beginX?-?currentX,?beginY?-?currentY);

}?else?{

//?如果當(dāng)前位置在起始位置的左下方,?則以鼠標(biāo)當(dāng)前位置的橫坐標(biāo)和起始位置的縱坐標(biāo)作為矩形的左上角位置

g.drawRect(currentX,?beginY,?beginX?-?currentX,?currentY?-?beginY);

}

}?else?{

if?(currentY??beginY)?{

//?如果當(dāng)前位置在起始位置的右上方,?則以鼠標(biāo)起始位置的很坐標(biāo)和當(dāng)前位置的縱坐標(biāo)作為矩形的左上角位置

g.drawRect(beginX,?currentY,?currentX?-?beginX,?beginY?-?currentY);

}?else?{

//?如果當(dāng)前位置在起始位置的右下方,?則已起始位置作為矩形的左上叫位置

g.drawRect(beginX,?beginY,?currentX?-?beginX,?currentY?-?beginY);

}

}

break;

//?繪制圓形

case?CIRCLE:

//?半徑為a*a?+?b*b的平方根

int?radius?=?(int)?Math

.sqrt((beginX?-?currentX)?*?(beginX?-?currentX)?+?(beginY?-?currentY)?*?(beginY?-?currentY));

g.drawArc(beginX?-?radius?/?2,?beginY?-?radius?/?2,?radius,?radius,?0,?360);

break;

}

}

}

@Override

public?void?mouseClicked(MouseEvent?e)?{

}

@Override

public?void?mouseEntered(MouseEvent?e)?{

}

@Override

public?void?mouseExited(MouseEvent?e)?{

}

/**

?*?當(dāng)鼠標(biāo)按下的時候獲得起始坐標(biāo)

?*/

@Override

public?void?mousePressed(MouseEvent?e)?{

beginX?=?e.getX();

beginY?=?e.getY();

isMousePressing?=?true;

}

/**

?*?當(dāng)鼠標(biāo)釋放時獲得當(dāng)前坐標(biāo)

?*/

@Override

public?void?mouseReleased(MouseEvent?e)?{

currentX?=?e.getX();

currentY?=?e.getY();

isMousePressing?=?false;

//?當(dāng)釋放鼠標(biāo)時,?將繪制的圖形保存到shapes中

switch?(type)?{

//?繪制直線

case?LINE:

Line?line?=?new?Line(beginX,?beginY,?currentX,?currentY,?color);

currentShapes.push(line);

break;

//?繪制圓形

case?CIRCLE:

//?半徑為a*a?+?b*b的平方根

int?radius?=?(int)?Math

.sqrt((beginX?-?currentX)?*?(beginX?-?currentX)?+?(beginY?-?currentY)?*?(beginY?-?currentY));

Circle?circle?=?new?Circle(beginX?-?radius?/?2,?beginY?-?radius?/?2,?radius,?color);

currentShapes.push(circle);

break;

//?繪制矩形

case?RECTANGLE:

Rectangle?rectangle?=?null;

if?(currentX??beginX)?{

if?(currentY??beginY)?{

rectangle?=?new?Rectangle(currentX,?currentY,?beginX?-?currentX,?beginY?-?currentY,?color);

}?else?{

rectangle?=?new?Rectangle(currentX,?beginY,?beginX?-?currentX,?currentY?-?beginY,?color);

}

}?else?{

if?(currentY??beginY)?{

rectangle?=?new?Rectangle(beginX,?currentY,?currentX?-?beginX,?beginY?-?currentY,?color);

}?else?{

rectangle?=?new?Rectangle(beginX,?beginY,?currentX?-?beginX,?currentY?-?beginY,?color);

}

}

currentShapes.push(rectangle);

break;

}

repaint();

}

@Override

public?void?mouseDragged(MouseEvent?e)?{

currentX?=?e.getX();

currentY?=?e.getY();

this.repaint();

}

@Override

public?void?mouseMoved(MouseEvent?e)?{

}

}

public?class?SketchpadFrame?extends?JFrame?{

private?static?final?long?serialVersionUID?=?-7080053971741609904L;

private?final?JPanel?commandPanel?=?new?JPanel();?//?存放命令的面板

private?final?JPanel?colorPanel?=?new?JPanel();?//?存放顏色的面板

private?final?JPanel?mainPanel?=?new?JPanel();?//?主面板

private?final?JButton?redButton?=?new?JButton("紅色");

private?final?JButton?blueButton?=?new?JButton("藍色");

private?final?JButton?greenButton?=?new?JButton("綠色");

private?final?JButton?lineButton?=?new?JButton("直線");

private?final?JButton?circleButton?=?new?JButton("圓");

private?final?JButton?rectangleButton?=?new?JButton("矩形");

private?final?JButton?undoButton?=?new?JButton("撤銷");

private?final?JButton?redoButton?=?new?JButton("恢復(fù)撤銷");

private?final?JButton?exitButton?=?new?JButton("退出");

SketchpadPanel?sketchPanel?=?new?SketchpadPanel();

private?void?initFrame()?{

commandPanel.setLayout(new?FlowLayout());

commandPanel.add(lineButton);

commandPanel.add(circleButton);

commandPanel.add(rectangleButton);

commandPanel.add(undoButton);

commandPanel.add(redoButton);

commandPanel.add(exitButton);

colorPanel.setLayout(new?FlowLayout());

colorPanel.add(redButton);

colorPanel.add(blueButton);

colorPanel.add(greenButton);

mainPanel.setLayout(new?BorderLayout());

mainPanel.add(commandPanel,?BorderLayout.NORTH);

mainPanel.add(colorPanel,?BorderLayout.CENTER);

getContentPane().add("South",?mainPanel);

getContentPane().add("Center",?sketchPanel);

//?初始化設(shè)置:顏色和命令

lineButton.setForeground(Color.RED);

sketchPanel.setColor(Color.RED);

redButton.setForeground(Color.RED);

sketchPanel.setShapeType(ShapeTypes.LINE);

}

private?void?initListener()?{

redButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

redAction(e);

}

});

blueButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

blueAction(e);

}

});

greenButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

greenAction(e);

}

});

undoButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

undoAction(e);

}

});

redoButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

redoAction(e);

}

});

exitButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

exitAction(e);

}

});

lineButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

lineAction(e);

}

});

circleButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

circleAction(e);

}

});

rectangleButton.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

rectangleAction(e);

}

});

}

public?SketchpadFrame()?{

initFrame();

initListener();

this.setSize(500,?600);

setLocationByPlatform(true);

setResizable(true);

}

/*?********************處理事件*********************?*/

private?void?undoAction(ActionEvent?e)?{

sketchPanel.undo();

}

private?void?redoAction(ActionEvent?e)?{

sketchPanel.redo();

}

private?void?exitAction(ActionEvent?e)?{

System.exit(0);

}

private?void?lineAction(ActionEvent?e)?{

//?選中按鈕為紅色,?其余為黑色

lineButton.setForeground(Color.RED);

circleButton.setForeground(Color.BLACK);

rectangleButton.setForeground(Color.BLACK);

sketchPanel.setShapeType(ShapeTypes.LINE);

}

private?void?circleAction(ActionEvent?e)?{

circleButton.setForeground(Color.RED);

lineButton.setForeground(Color.BLACK);

rectangleButton.setForeground(Color.BLACK);

sketchPanel.setShapeType(ShapeTypes.CIRCLE);

}

private?void?rectangleAction(ActionEvent?e)?{

rectangleButton.setForeground(Color.RED);

lineButton.setForeground(Color.BLACK);

circleButton.setForeground(Color.BLACK);

sketchPanel.setShapeType(ShapeTypes.RECTANGLE);

}

private?void?redAction(ActionEvent?e)?{

redButton.setForeground(Color.RED);

blueButton.setForeground(Color.BLACK);

greenButton.setForeground(Color.BLACK);

sketchPanel.setColor(Color.RED);

}

private?void?blueAction(ActionEvent?e)?{

blueButton.setForeground(Color.RED);

redButton.setForeground(Color.BLACK);

greenButton.setForeground(Color.BLACK);

sketchPanel.setColor(Color.BLUE);

}

private?void?greenAction(ActionEvent?e)?{

greenButton.setForeground(Color.RED);

redButton.setForeground(Color.BLACK);

blueButton.setForeground(Color.BLACK);

sketchPanel.setColor(Color.GREEN);

}

}

/**

*?

*?@author?不落的太陽(Sean?Yang)

*?@version?1.0

*?@since?JDK?1.8

*?

*/

public?class?SketchpadMain?{

/**

?*?測試方法

?*?

?*?@param?args命令行參數(shù)

?*/

public?static?void?main(String[]?args)?{

EventQueue.invokeLater(new?Runnable()?{

@Override

public?void?run()?{

JFrame?frame?=?new?SketchpadFrame();

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

});

}

}

JAVA怎么畫出一個任意大小的圓形和矩形

package?test.xxl;

import?java.awt.Button;

import?java.awt.Color;

import?java.awt.Cursor;

import?java.awt.Graphics;

import?java.awt.event.ActionEvent;

import?java.awt.event.ActionListener;

import?java.awt.event.MouseEvent;

import?java.awt.event.MouseListener;

import?javax.swing.JFrame;

public?class?Demo0617?extends?JFrame?implements?MouseListener,ActionListener{

private?static?int?x?=?0?;?

private?static?int?y?=?0?;

private?static?int?w?=?0?;

private?static?int?h?=?0?;

private?static?Color?c?;

//?真為圓,假為方

private?boolean?flag?=?false?;

private?static?final?long?serialVersionUID?=?1L;

public?Demo0617(){

this.setSize(440,?500)?;

this.setVisible(true)?;

this.setLayout(null)?;

this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR))?;

this.setResizable(false);//不能改變窗體大小

this.setBackground(Color.WHITE)?;

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)?;

this.addMouseListener(this)?;

this.getContentPane().setBackground(Color.WHITE)?;

Button?b1,b2,b3,b4,b5,b6,b7,b8,b9?;

b1?=?new?Button("紅色")?;

b1.setBounds(0,?0,?100,?30)?;

b1.setBackground(Color.RED)?;

b1.addActionListener(this)?;

this.add(b1)?;

b2?=?new?Button("黑色")?;

b2.setBounds(110,?0,?100,?30)?;

b2.setBackground(Color.BLACK)?;

b2.addActionListener(this)?;

this.add(b2)?;

b3?=?new?Button("黃色")?;

b3.setBounds(220,?0,?100,?30)?;

b3.setBackground(Color.YELLOW)?;

b3.addActionListener(this)?;

this.add(b3)?;

b4?=?new?Button("藍色")?;

b4.setBackground(Color.BLUE)?;

b4.setBounds(330,?0,?100,?30)?;

b4.addActionListener(this)?;

this.add(b4)?;

b5?=?new?Button("橡皮擦")?;

b5.setBounds(0,?40,?100,?30)?;

b5.addActionListener(this)?;

this.add(b5)?;

b6?=?new?Button("撤銷")?;

b6.setBounds(110,?40,?100,?30)?;

b6.addActionListener(this)?;

this.add(b6)?;

b7?=?new?Button("全部刪除")?;

b7.setBounds(220,?40,?100,?30)?;

b7.addActionListener(this)?;

this.add(b7)?;

b8?=?new?Button("圓形")?;

b8.setBounds(0,?80,?100,?30)?;

b8.addActionListener(this)?;

this.add(b8)?;

b9?=?new?Button("矩形")?;

b9.setBounds(110,?80,?100,?30)?;

b9.addActionListener(this)?;

this.add(b9)?;

}

/**

?*?@param?args

?*/

public?static?void?main(String[]?args)?{

new?Demo0617()?;

}

@Override

public?void?paint(Graphics?g)?{

if(c?==?null)

c?=?g.getColor();

g.setColor(c);

if(flag){

g.fillOval(x,?y,?w,?h);

}?else?{

g.fillRect(x,?y,?w,?h)?;

}

}

public?void?clear(Graphics?g){

g.setColor(Color.WHITE)?;

g.clearRect(0,?0,?440,?500)?;

}

/**

?*?單擊

?*/

@Override

public?void?mouseClicked(MouseEvent?e)?{

}

/**

?*?按下

?*/

@Override

public?void?mousePressed(MouseEvent?e)?{

x?=?e.getX()?;

y?=?e.getY()?;

}

/**

?*?松開

?*/

@Override

public?void?mouseReleased(MouseEvent?e)?{

int?x?=?e.getX()?;

int?y?=?e.getY()?;

if(x??this.x){

w?=?x?-?this.x?;

}?else?{

w?=?this.x?-?x?;

}

if(y??this.y){

h?=?y?-?this.y?;

}?else?{

h?=?this.y?-?y?;

}

paint(getGraphics())?;

}

/**

?*?鼠標(biāo)進入事件

?*/

@Override

public?void?mouseEntered(MouseEvent?e)?{

}

/**

?*?鼠標(biāo)移除事件

?*/

@Override

public?void?mouseExited(MouseEvent?e)?{

}

@Override

public?void?actionPerformed(ActionEvent?e)?{

switch?(e.getActionCommand().hashCode())?{

case?1038352:

//?紅色

c?=?Color.RED?;

break;

case?1293761:

//?黑色

c?=?Color.BLACK?;

break;

case?1293358:

//?黃色

c?=?Color.YELLOW?;

break;

case?1087797:

//?藍色

c?=?Color.BLUE?;

break;

case?27138585:

//?橡皮擦

c?=?Color.WHITE?;

break?;

case?836828:

Graphics?graphics?=?getGraphics()?;

graphics.setColor(Color.WHITE)?;

if(flag){

graphics.fillOval(x,?y,?w,?h)?;

}?else?{

graphics.fillRect(x,?y,?w,?h)?;

}

break;

case?657183940:

//?全部刪除

clear(getGraphics())?;

break;

case?715036:

//?圓形

flag?=?true?;

break;

case?976025:

//?矩形

flag?=?false?;

break;

default:

System.out.println(e.getActionCommand().hashCode());

break?;

}

}

}

文章名稱:java畫圓和矩形代碼 java畫一個矩形
本文鏈接:http://muchs.cn/article46/docdshg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、域名注冊外貿(mào)建站、外貿(mào)網(wǎng)站建設(shè)動態(tài)網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司