真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java畫圓fill代碼 java編程畫圓參數(shù)

JAVA畫圓

import java.awt.Frame;

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比晉源網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式晉源網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋晉源地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

import java.awt.Graphics;

public class S extends Frame{

private int x;

private int y;

private boolean drawOval;//為true時繪制

//測試入口函數(shù)

public static void main(String []args)

{

new S().print();

}

//構(gòu)造函數(shù),初始化x、y坐標(biāo),設(shè)置drawOval變量為false,設(shè)置窗體大小

public S()

{

x = 200;

y = 200;

drawOval = false;

this.setSize(400,400);

this.setVisible(true);

}

public void print(){

//在調(diào)用S類實例的print方法時,畫一個以屬性X,Y為起點的寬高為10的圓.

drawOval = true; //設(shè)置drawOval變量為true

repaint(); //調(diào)用刷新畫面方法

}

public void paint(Graphics g)

{

//為true時繪制

if(drawOval)g.fillOval(x,y,10,10);

}

}

java中fillOval用法?

Java編程中fillOval方法用于繪圖繪制圓與多邊形,下面是該方法的主要參數(shù):

public?abstract?void?fillOval(int?x,int?y,int?width,int?height)

#使用當(dāng)前顏色填充外接指定矩形框的橢圓。

#參數(shù):

#x?-?要填充橢圓的左上角的?x?坐標(biāo)。

#y?-?要填充橢圓的左上角的?y?坐標(biāo)。

#width?-?要填充橢圓的寬度。

#height?-?要填充橢圓的高度。

java畫出一個小圓,并能用鍵盤控制方向的代碼

import java.awt.*;

import java.awt.event.*;

import java.awt.geom.Ellipse2D;

import javax.swing.*;

public class DrawCircle extends JFrame{

Ellipse2D circle;

public DrawCircle(){

super("Moving Circle");

circle = new Ellipse2D.Double(200,200,100,100);

this.addKeyListener(new myKeyListener(this));

this.setSize(500,500);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public void paint(Graphics g){

Graphics2D g2 = (Graphics2D) g;

g2.setColor(Color.white);

g2.fillRect(0,0,this.getWidth(),this.getHeight());

g2.setColor(Color.blue);

g2.fill(circle);

}

public static void main(String args[]){

DrawCircle d = new DrawCircle();

}

class myKeyListener extends KeyAdapter{

JFrame frame;

public myKeyListener(JFrame frame){

this.frame = frame;

}

public void keyPressed(KeyEvent e){

switch(e.getKeyCode()){

case KeyEvent.VK_UP:

circle.setFrame(circle.getX(),circle.getY()-10,circle.getHeight(),circle.getWidth());

break;

case KeyEvent.VK_DOWN:

circle.setFrame(circle.getX(),circle.getY()+10,circle.getHeight(),circle.getWidth());

break;

case KeyEvent.VK_LEFT:

circle.setFrame(circle.getX()-10,circle.getY(),circle.getHeight(),circle.getWidth());

break;

case KeyEvent.VK_RIGHT:

circle.setFrame(circle.getX()+10,circle.getY(),circle.getHeight(),circle.getWidth());

break;

}

frame.repaint();

}

}

}

辛辛苦苦給你做的... 不是復(fù)制的哈...

java中怎么對特定的一個圓上色

java swing中指定圓的顏色,最常用的有兩種方法

方法一:畫圓的時候就指定畫筆的顏色,那么畫出的顏色就是制定的顏色。

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

g.setColor(Color.BLUE);

g.fillOval(50,?8,?50,?50);

}

這種方法的優(yōu)點: 代碼碼量少,簡潔

? ? ? ? ? ? 缺點:指定顏色后,不好修改。不夠靈活

方法二:指定構(gòu)造方法中有一個Color變量。設(shè)置get set方法

class?MyJPanel?extends?JPanel{

Color?c;

public?MyJPanel(Color?c)?{

this.c?=?c?;

}

@Override

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

g.setColor(c);

g.fillOval(50,?8,?50,?50);

}

public?Color?getC()?{

return?c;

}

public?void?setC(Color?c)?{

this.c?=?c;

}

}

方法二的優(yōu)點:方便靈活,能通過set get方法輕松修改圓圈顏色

缺點:代碼稍多,改變顏色后需要repaint()一下

代碼案例供參考

import?java.awt.BorderLayout;

import?java.awt.Color;

import?java.awt.Graphics;

import?javax.swing.JFrame;

import?javax.swing.JPanel;

public?class?Circle?extends?JFrame{

MyJPanel?jp;

public?Circle()?{

jp?=?new?MyJPanel(Color.RED);

this.setLayout(new?BorderLayout());

this.add(jp,BorderLayout.CENTER);

this.setBounds(300,?200,?150,?100);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

try?{

Thread.sleep(500);

jp.setC(new?Color(210,250,0));

jp.repaint();

}?catch?(InterruptedException?e)?{

}

}

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

new?Circle();

}

}

class?MyJPanel?extends?JPanel{

Color?c;

public?MyJPanel(Color?c)?{

this.c?=?c?;

}

@Override

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

g.setColor(c);

g.fillOval(50,?8,?50,?50);

}

public?Color?getC()?{

return?c;

}

public?void?setC(Color?c)?{

this.c?=?c;

}

}

在Java中如何用程序畫一個圓

使用java畫圓要用到繪圖類Graphics,下面是實例代碼和運行效果:

package?com.dikea.demo01;

import?java.awt.*;

import?javax.swing.*;

//?java繪圖原理

public?class?demo_01??extends?JFrame?{

MyPanel?mp?=?null;

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

//?TODO?自動生成的方法存根

demo_01?demo01?=?new?demo_01();

}

public?demo_01(){

mp?=?new?MyPanel();

this.add(mp);

this.setSize(400,?300);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

//?定義一個MyPanel面板,用于繪圖區(qū)域

class?MyPanel?extends?JPanel{

//覆蓋JPanel

//?Graphics?是繪圖的重要類,可以理解成一支畫筆

public?void?paint(Graphics?g){

//??1.?調(diào)用父類函數(shù)完成初始化任務(wù)

//??這句話不可以少

super.paint(g);

//?先畫出一個圓圈

g.drawOval(100,?100,?30,?30);

}

}

代碼復(fù)制進(jìn)ide編程工具,運行效果如下:

求一個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("藍(lán)色");

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);

}

});

}

}


當(dāng)前題目:java畫圓fill代碼 java編程畫圓參數(shù)
瀏覽地址:http://weahome.cn/article/dooecdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部