「java代码画」java代码画皮卡丘

博主:adminadmin 2023-03-21 16:25:09 902

今天给各位分享java代码画的知识,其中也会对java代码画皮卡丘进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA画时钟代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import sun.util.calendar.Gregorian;

import java.util.Calendar;

import java.util.GregorianCalendar;

public class ClockPointer extends JFrame{

        int x, y, x0, y0, r, h, olds_x, olds_y, oldm_x, oldm_y, oldh_x, oldh_y, 

        ss,mm, hh, old_m, old_h, ang;

        final double RAD = Math.PI/180;

    public ClockPointer(){

        super("Java时钟");

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Image image = getToolkit().getImage("clock.gif");

        setIconImage(image);

        setSize(400,400);

        setBackground(Color.white);

        //setLocation(300,150);

        this.setLocationRelativeTo(null);

        setResizable(true);

        int delay = 1000;

        //创建一个监听事件

        setVisible(true);

        ActionListener drawClock = new ActionListener(){

            public void actionPerformed(ActionEvent evt){

                repaint();

            }

        };

        //创建一个时间计数器,每一秒触发一次

        new Timer(delay, drawClock).start();

    }

    

    java.text.SimpleDateFormat fmTime = new java.text.SimpleDateFormat("HH:mm:ss");

    //绘制图形

    public void paint(Graphics g){

        super.paint(g);

        g.setFont(null);

        Graphics2D g2D = (Graphics2D)g;

        

        Insets insets = getInsets();

        int L = insets.left/2, T = insets.top/2;

        h = getSize().height;

        g.setColor(Color.white);

        //画圆

        g2D.setStroke(new BasicStroke(2.0f));

        g.setColor(Color.gray);

        g.drawOval(L+40, T+40, h-80, h-80);

        r = h/2 - 40;

        x0 = 40 + r - 5 + L;

        y0 = 40 + r - 5 - T;

        ang = 60;

        //绘制时钟上的12个字

        for(int i = 1;i = 12;i ++){

            x = (int)((r+10)*Math.cos(RAD*ang)+x0);

            y = (int)((r+10)*Math.sin(RAD*ang)+y0);

            g.setColor(Color.black);

            g.drawString(""+i, x, h-y);

            ang -=30;

        }

        //获得现在的时间

        Calendar now = new GregorianCalendar();

        int nowh = now.get(Calendar.HOUR_OF_DAY);

        int nowm = now.get(Calendar.MINUTE);

        int nows = now.get(Calendar.SECOND);

        

        String st=fmTime.format(now.getTime());

        //在窗体上显示时间

        g.setColor(Color.pink);

        g.fillRect(L, T, 50, 28);

        g.setColor(Color.blue);

        g.drawString(st,L+2,T+26);

        

        //计算时间与度数的关系

        ss = 90 - nows*6;

        mm = 90 - nowm*6;

        hh = 90 - nowh*30 - nowm/2;

        x0 = r+40+L;

        y0 = r+40+T;

        g2D.setStroke(new BasicStroke(1.2f));

        //擦除秒针

        //if(olds_x  0){

        //    g.setColor(getBackground());

        //    // g.setColor(Color.gray);

        //    g.drawLine(x0, y0, olds_x, h-olds_y); // (?)

        //}

        //绘制秒针

        x = (int)(r*0.9*Math.cos(RAD*ss))+x0;

        y = (int)(r*0.9*Math.sin(RAD*ss))+y0-2*T;

        g.setColor(Color.yellow);

        g.drawLine(x0, y0, x, h-y);

        olds_x = x;

        olds_y = y;

        g2D.setStroke(new BasicStroke(2.2f));

        //擦除分针

        //if(old_m!=mm){

        //    g.setColor(getBackground());

        //    g.drawLine(x0,y0,oldm_x,h-oldm_y);

        //}

        //绘制分针

        x = (int)(r*0.7*Math.cos(RAD*mm))+x0;

        y = (int)(r*0.7*Math.sin(RAD*mm))+y0-2*T;

        g.setColor(Color.green);

        g.drawLine(x0,y0,x,h-y);

        oldm_x = x;

        oldm_y = y;

        old_m = mm;

        g2D.setStroke(new BasicStroke(3.2f));

        //擦除时针

        //if(old_h!=hh){

        //    g.setColor(getBackground());

        //    g.drawLine(x0,y0,oldh_x,h-oldh_y);

        //}

        //绘制时针

        x = (int)(r*0.5*Math.cos(RAD*hh))+x0;

        y = (int)(r*0.5*Math.sin(RAD*hh))+y0-2*T;

        g.setColor(Color.red);

        g.drawLine(x0,y0,x,h-y);

        oldh_x = x;

        oldh_y = y;

        old_h = hh;

    }

    public static void main(String[] args){

        new ClockPointer();

    }

}

//整理一下

在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面板,用于绘图区域

class MyPanel extends JPanel{

//覆盖JPanel

// Graphics 是绘图的重要类,可以理解成一支画笔

public void paint(Graphics g){

//  1. 调用父类函数完成初始化任务

//  这句话不可以少

super.paint(g);

// 先画出一个圆圈

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

}

}

代码复制进ide编程工具,运行效果如下:

求代码:用JAVA画出一个棋盘(伪代码就好,要有标注)

import javax.swing.*;

import javax.swing.border.*;

import java.awt.*;

import java.beans.*;

import java.util.*;

/**

 * 面板上的光标改变成为手型

 * @author hardneedl

 */

final class ChessPaint extends JFrame{

    private static final Dimension SIZE = new Dimension(600,400);

    public Dimension getMinimumSize() {return SIZE;}

    public Dimension getMaximumSize() {return SIZE;}

    public Dimension getPreferredSize() {return SIZE;}

    public String getTitle() {return "ChessPaint";}

    /**

     * 棋盘

     * 实现属性变化监听

     */

    private class Chessboard extends Observable implements PropertyChangeListener{

        private int columns, rows, cellWidth;

        private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);

        private Chessboard(int columns, int rows, int cellWidth) {

            this.columns = columns;

            this.rows = rows;

            this.cellWidth = cellWidth;

        }

        private int getColumns() {

            return columns;

        }

        private void setColumns(int columns) {

            propertyChangeSupport.firePropertyChange("columns", this.columns, columns);

            this.columns = columns;

        }

        private int getRows() {

            return rows;

        }

        private void setRows(int rows) {

            propertyChangeSupport.firePropertyChange("columns", this.rows, rows);

            this.rows = rows;

        }

        private int getCellWidth() {

            return cellWidth;

        }

        private void setCellWidth(int cellWidth) {

            this.cellWidth = cellWidth;

        }

        public void propertyChange(PropertyChangeEvent evt) {

            switch (evt.getPropertyName()) {

                case "columns":

                case "rows":

                case "cellWidth":

                    if (!evt.getOldValue().equals(evt.getNewValue())) {

                        setChanged();

                        notifyObservers(this);

                    }

                    break;

            }

        }

    }

    /**

     * 画笔

     */

    private interface Brush {

        void paint(Graphics g);

        Component getCompoment();

    }

    abstract private class ChessboardBrush implements Brush, Observer {

        private Chessboard chessboard;

        private ChessboardBrush(Chessboard chessboard) {

            this.chessboard = chessboard;

        }

        public void paint(Graphics g) {

            if (chessboard == null) return;

            Graphics2D g2 = (Graphics2D) g.create();

            //背景白色

            g2.setColor(Color.WHITE);

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

            //整体偏移坐标系

            g2.translate(100,100);

            g2.setColor(Color.BLACK);

            //绘制行线

            for (int r = 0; r = chessboard.getRows(); r ++)

                g2.drawLine(0, r * chessboard.getCellWidth(), chessboard.getColumns() * chessboard.getCellWidth(), r * chessboard.getCellWidth());

            //绘制竖线

            for (int c = 0; c = chessboard.getColumns(); c++)

                g2.drawLine(c * chessboard.getCellWidth(), 0, chessboard.getCellWidth() * c , chessboard.getRows() * chessboard.getCellWidth());

            g2.dispose();

        }

        public void update(Observable o, Object arg) {

            if (arg instanceof Chessboard)

                chessboard = (Chessboard)arg;

        }

    }

    /*画布*/

    private class Canvas extends JComponent{

        private Brush getBrush() {

            return brush;

        }

        private void setBrush(Brush brush) {

            this.brush = brush;

        }

        private Brush brush;

        private Canvas() {

            super();

        }

        protected void paintComponent(Graphics g) {

            super.paintComponent(g);

            if(isVisible()  brush != null)

                brush.paint(g);

        }

        public Border getBorder() {

            return BorderFactory.createLineBorder(Color.BLUE,2);

        }

    }

    private Canvas canvas;

    private ChessboardBrush brush;

    private Chessboard chessboard;

    private ChessPaint() {

        super();

        init();

        addListeners();

        doLay();

    }

    private void init(){

        chessboard = new Chessboard(19,19,30);

        canvas = new Canvas();

        brush = new ChessboardBrush(chessboard) {

            public Component getCompoment() {

                return canvas;

            }

        };

        canvas.setBrush(brush);

        chessboard.addObserver(brush);

    }

    private void addListeners(){

    }

    private void doLay(){

        Container container = getContentPane();

        container.add(canvas, BorderLayout.CENTER);

        pack();

        setVisible(true);

    }

    public static void main(String... args) {

        System.setProperty("swing.defaultlaf","com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

        SwingUtilities.invokeLater(ChessPaint::new);

    }

}

请写出用java代码画一个圆

靠,楼上的回答那么长啊,只要一个函数,就是

drawOval(int

x,int

y,int

w,int

h);

这是是画椭圆形的函数,但是它也可以画圆形。

比如

drawOval(100,100,50,50);

就在坐标50,50画一个直径100的圆,只要把,最后的2个参数设成一样就是一个圆。要画直径200的话,就把最后2个参数设成200,200

一切OK了

电脑怎么用代码画红底五角星

下面是用 Java 语言画一个红底五角星的代码示例:

import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics;

import javax.swing.JFrame; import javax.swing.JPanel;

public class FivePointedStar {

public static void main(String[] args) {

JFrame frame = new JFrame("Five Pointed Star");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

FivePointedStarPanel panel = new FivePointedStarPanel();

frame.add(panel);

frame.pack();

frame.setVisible(true);

}

}

class FivePointedStarPanel extends JPanel {

public FivePointedStarPanel() {

setPreferredSize(new Dimension(300, 300));

setBackground(Color.WHITE);

}

@Override

public void paintComponent(Graphics g) {

super.paintComponent(g);

int xPoints[] = {150, 200, 250, 225, 175, 125, 100, 125};

int yPoints[] = {100, 50, 100, 150, 150, 100, 50, 100};

int nPoints = 8; g.setColor(Color.RED);

g.fillPolygon(xPoints, yPoints, nPoints); }

}

这段代码中,我们创建了一个 JFrame 窗口,并在窗口中添加了一个 JPanel 面板。在面板中,我们重写了 paintComponent 方法,使用 Graphics 类的 fillPolygon 方法画出了一个五角星。我们设置了五角星的颜色为红色,并设置了面板的背景色为白色。

运行这段代码后,将会弹出一个窗口,显示一个红底五角星。

希望这个示例能帮助你画出一个红底五角星。

eclipse中用JAVA代码怎么画柱形图表

用jfreechart

jfreechart绘制柱状图

import java.io.File;

import java.io.IOException;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartUtilities;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.plot.PlotOrientation;

import org.jfree.data.category.DefaultCategoryDataset;

/*

* 绘制柱状图

*你亮哥

* */

public class BarChart3DDemo

{

public static void main(String[] args)

{

try

{

//设置主题

ChartFactory.setChartTheme(Theme.getTheme());

//构造数据

DefaultCategoryDataset dataset = new DefaultCategoryDataset();

dataset.addValue(100, "JAVA","1");

dataset.addValue(200, "js","1");

dataset.addValue(200, "C++", "2");

dataset.addValue(300, "C", "3");

dataset.addValue(400, "HTML", "4");

dataset.addValue(400, "CSS", "5");

/*

* public static JFreeChart createBarChart3D(

* java.lang.String title, 设置图表的标题

* java.lang.String categoryAxisLabel, 设置分类轴的标示

* java.lang.String valueAxisLabel, 设置值轴的标示

* CategoryDataset dataset, 设置数据

* PlotOrientation orientation, 设置图表的方向

* boolean legend, 设置是否显示图例

* boolean tooltips,设置是否生成热点工具

* boolean urls) 设置是否显示url

*/

JFreeChart chart = ChartFactory.createBarChart3D("编程语言统计", "语言",

"学习人数", dataset, PlotOrientation.VERTICAL, true, false,

false);

//保存图表

ChartUtilities.saveChartAsPNG(new File("E:/chart/BarChart3D.png"), chart, 800, 500);

System.out.println("绘图完成");

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

===================================================================================

//一条线 有点 有数

package Test;

import java.awt.Color;

import java.awt.Font;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartFrame;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.axis.AxisSpace;

import org.jfree.chart.labels.ItemLabelAnchor;

import org.jfree.chart.labels.ItemLabelPosition;

import org.jfree.chart.labels.StandardXYItemLabelGenerator;

import org.jfree.chart.plot.XYPlot;

import org.jfree.chart.renderer.xy.XYItemRenderer;

import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;

import org.jfree.chart.title.TextTitle;

import org.jfree.data.time.Month;

import org.jfree.data.time.TimeSeries;

import org.jfree.data.time.TimeSeriesCollection;

import org.jfree.ui.RectangleInsets;

import org.jfree.ui.TextAnchor;

public class try123 {

public static void main(String[] args){

//首先构造数据

TimeSeries timeSeries = new TimeSeries("BMI", Month.class);

// 时间曲线数据集合

TimeSeriesCollection lineDataset = new TimeSeriesCollection();

// 构造数据集合

timeSeries.add(new Month(1, 2009), 45);

timeSeries.add(new Month(2, 2009), 46);

timeSeries.add(new Month(3, 2009), 1);

timeSeries.add(new Month(4, 2009), 500);

timeSeries.add(new Month(5, 2009), 43);

timeSeries.add(new Month(6, 2009), 324);

timeSeries.add(new Month(7, 2009), 632);

timeSeries.add(new Month(8, 2009), 34);

timeSeries.add(new Month(9, 2009), 12);

timeSeries.add(new Month(10, 2009), 543);

timeSeries.add(new Month(11, 2009), 32);

timeSeries.add(new Month(12, 2009), 225);

lineDataset.addSeries(timeSeries);

JFreeChart chart = ChartFactory.createTimeSeriesChart("", "date", "bmi", lineDataset, true, true, true);

//增加标题

chart.setTitle(new TextTitle("XXXBMI指数", new Font("隶书", Font.ITALIC, 15)));

chart.setAntiAlias(true);

XYPlot plot = (XYPlot) chart.getPlot();

plot.setAxisOffset(new RectangleInsets(10,10,10,10));//图片区与坐标轴的距离

plot.setOutlinePaint(Color.PINK);

plot.setInsets(new RectangleInsets(15,15,15,15));//坐标轴与最外延的距离

// plot.setOrientation(PlotOrientation.HORIZONTAL);//图形的方向,包括坐标轴。

AxisSpace as = new AxisSpace();

as.setLeft(25);

as.setRight(25);

plot.setFixedRangeAxisSpace(as);

chart.setPadding(new RectangleInsets(5,5,5,5));

chart.setNotify(true);

// 设置曲线是否显示数据点

XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer)plot.getRenderer();

xylineandshaperenderer.setBaseShapesVisible(true);

// 设置曲线显示各数据点的值

XYItemRenderer xyitem = plot.getRenderer();

xyitem.setBaseItemLabelsVisible(true);

xyitem.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.INSIDE10, TextAnchor.BASELINE_LEFT));

xyitem.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator());

xyitem.setBaseItemLabelFont(new Font("Dialog", 1, 14));

plot.setRenderer(xyitem);

//显示

ChartFrame frame = new ChartFrame("try1", chart);

frame.pack();

frame.setVisible(true);

}

}

关于java代码画和java代码画皮卡丘的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。