java输出图形
- 格式:doc
- 大小:70.50 KB
- 文档页数:2
Java的Graphics类进⾏绘图的⽅法详解Graphics类提供基本绘图⽅法,Graphics2D类提供更强⼤的绘图能⼒。
Graphics类提供基本的⼏何图形绘制⽅法,主要有:画线段、画矩形、画圆、画带颜⾊的图形、画椭圆、画圆弧、画多边形等。
1. 画线在窗⼝画⼀条线段,可以使⽤Graphics类的drawLine()⽅法:drawLine(int x1,int y1,int x2,int y2) 例如,以下代码在点(3,3)与点(50,50)之间画线段,在点(100,100)处画⼀个点。
g.drawLine(3,3,50,50);//画⼀条线段g.drawLine(100,100,100,100);//画⼀个点。
2. 画矩形有两种矩形:普通型和圆⾓型。
(1) 画普通矩形有两个⽅法:drawRect(int x,int y,int width,int height):画线框围起来的矩形。
其中参数x和y指定左上⾓的位置,参数width和height是矩形的宽和⾼。
fillRect(int x,int y,int width,int height):是⽤预定的颜⾊填充⼀个矩形,得到⼀个着⾊的矩形块。
以下代码是画矩形的例⼦:g.drawRect(80,100,40,25);//画线框g.setColor(Color.yellow);g.fillRect(20,70,20,30);//画着⾊块(2)画圆⾓矩形也有两个⽅法:drawRoundRect(int x,int y,int width, int height, int arcWidth, int arcHeight):是⽤线围起来的圆⾓矩形。
其中参数x和y指定矩形左上⾓的位置;参数width和heigth是矩形的宽和⾼;arcWidth和arcHeight分别是圆⾓弧的横向直径和圆⾓弧的纵向直径。
fillRoundRect(int x,int y,int width,int height,int arcWidth,int archeight):是⽤预定的颜⾊填充的圆⾓矩形。
Java 输入图形在前面的章节中,我们已经学习如何编写Java 代码,以及如何编译这些文件。
下面我们再来通过Java 程序输出一个图形效果,如有多个星号(*)组的一个菱形。
操作步骤:(1)打开记事本,并在记事本中输入主程序体,如图1-1所示。
例如,通过“public class Tuo ”命令定义Tuo 类,再输入一对大括号(“{ }”)。
(2)在Tuo 类中,定义主类,如“public static void main(String[] ages)”,并输入一对大括号(“{ }”),如图1-2所示。
Main 是程序的主类,也是程序执行的入口。
如果没有该类,程序将无法执行。
图1-1 定义类 图1-2 定义主类(3)在输出菱形图形时,我们使用最普通的方法,直接通过输出语句输出字符串。
例如,在程序中输入“System.out.print(" * "+"\n");”语句,来输出包含多个空格和星号的字符串,然后换行(“\n ”为换行标识符),如图1-3所示。
图1-3 输入空格和星号(4)再通过System.out.print( ),输出组成菱形图形的语句,如图1-4所示。
然后,执行【文件】|【保存】命令,并保存为.java 文件。
在输入语句中,其字符串中的空格,需要用户自己通过手工控制。
尤其是星号(*)的前面空格,他决定了星号显示的位置,用户可以通过键盘上的【space 】键来控制空格输出的数量。
(5)打开【命令提示符】窗口,并通过cd命令,进入.java文件保存的位置。
然后,输入“javac Tuo.java”命令,并按【回车】键,如图1-5所示。
(6)对Tuo.java文件编译之后,则再输入“java Tuo”命令,并按【回车】键,如图1-6所示。
图1-5 编译.java文件图1-6 解释class文件(7)通过解释之后,即可显示出Tuo.java文件内容,如图1-7所示。
Java 在PDF文档中绘制图形本篇文档将介绍通过Java编程在PDF文档中绘制图形的方法。
包括绘制矩形、椭圆形、不规则多边形、线条、弧线、曲线、扇形等等。
针对方法中提供的思路,也可以自行变换图形设计思路,如菱形、梯形或者组合图形等。
使用工具:Free Spire.PDF for Java(免费版)Jar文件导入:步骤1:将安装包中lib文件夹下的两个文件复制到程序中新建的文件夹中(这里在程序中可新建一个文件夹并命名为Lib)步骤2:复制文件后,将两个添加引用到程序:选中这两个jar文件,点击鼠标右键,选择“Build Path”–“Add to Build Path”。
完成引用。
Java代码示例(供参考)import java.awt.Color;import java.awt.Point;import java.awt.geom.Rectangle2D;import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.graphics.*;public class DrawShapes {public static void main(String[] args) {//创建PdfDocument对象PdfDocument doc = new PdfDocument();//添加一页PdfPageBase page = doc.getPages().add();//创建画笔、画刷PdfPen pen =new PdfPen(new PdfRGBColor(Color.black),0.3);PdfBrush brush= PdfBrushes.getGreenYellow();//绘制矩形Rectangle2D.Float rect1 = new Rectangle2D.Float(0, 20, 120, 50);//创建Rectangle2D对象,并指定图形在PDF页面中的大小、位置PdfLinearGradientBrush linearGradientBrush = new PdfLinearGradientBrush(rect1,new PdfRGBColor(Color.PINK),new PdfRGBColor(Color.YELLOW),PdfLinearGradientMode.Horizontal);//填充图形颜色page.getCanvas().drawRectangle(linearGradientBrush, rect1);//绘制矩形到页面//绘制椭圆Point centerStart= new Point(205,45);Point centerEnd= new Point(205,45);PdfRadialGradientBrush radialGradientBrush = new PdfRadialGradientBrush(centerStart,0,centerEnd,60,newPdfRGBColor(Color.white),new PdfRGBColor(Color.cyan));Rectangle2D.Float rect2= new Rectangle2D.Float(180, 20, 50, 50);page.getCanvas().drawEllipse(radialGradientBrush,rect2);//绘制多边形Point p1=new Point(290,70);Point p2=new Point(310,45);Point p3=new Point(325,60);Point p4=new Point(340,20);Point p5=new Point(370,70);Point[] points = {p1, p2, p3, p4, p5};page.getCanvas().drawPolygon(pen,brush, points);//绘制弧形float startAngle = 0;float sweepAngle = 270;Rectangle2D.Float rect3= new Rectangle2D.Float(0, 110, 50, 50);page.getCanvas().drawArc(pen, rect3, startAngle, sweepAngle);//绘制扇形Rectangle2D.Float rect4= new Rectangle2D.Float(70, 110, 50, 50);page.getCanvas().drawPie(pen, rect4, startAngle, sweepAngle);//绘制直线Point pStart=new Point(205,110);Point pEnd=new Point(205,160);page.getCanvas().drawLine(pen, pStart, pEnd);//绘制贝塞尔曲线Point startPoint = new Point(290, 135);Point firstControlPoint = new Point(330, 70);Point secondControlPoint = new Point(330, 200);Point endPoint = new Point(370, 135);page.getCanvas().drawBezier(pen, startPoint, firstControlPoint, secondControlPoint, endPoint);//保存文档doc.saveToFile("DrawShapes.pdf",FileFormat.PDF);}}完成代码后,运行程序,生成文档。
2017年10月高等教育自学考试全国统一命题考试Java语言程序设计(一)试卷课程代码04747一、单项选择题:本大题共10小题,每小题l分,共10分。
1.编译Java应用程序源程序会产生字节码文件,字节码文件的扩展名为()A..javaB..classC..htmlD..exe【答案】B【解析】java文件通过jvm虚拟机编译后会生成二进制码,显示的文件格式就是“.class”.【知识点】java应用程序和小应用程序2.表达式-1>>1的值是()A.232-1B.-1C.216-1D.2147483647【答案】B【解析】>>是算术右移位运算符,按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1. -1java表示就是32个1,右移1位后还是-1.【知识点】移位运算3.为类C定义一个int类型的变量x,使得只有同类和同包的其它类能使用代码C.x就可引用它,则定义x的形式为()A.static int x;B.public int x;C.protected static int x;D.public static int x;【答案】A【解析】用关键字static修饰的是类变量,静态变量被所有的对象所共享,都可以引用它。
【知识点】类变量4.设有字符串变量String s1="abc", s2=new String("abc"),则以下表达式的值为true 的是()A.pareToIgnoreCase(s2)B.pareTo(s2)C.s1==s2D.s1.equals(s2)【答案】D【解析】因为“==”指的是两个对象的引用相同,而“equals()”指的是两个对象的值相等。
【知识点】字符串变量5.在以下Swing的类中,属于容器的是()A.JDialogB.JButtonC.JTextAreaD.JList【答案】A【解析】swing顶层容器有JFrame,JDialog,JApplet【知识点】swing组件6.在以下叙述中,属于CardLayout布局特点之一的是()A.多个组件从上到下排列B.容器只能放置一个组件C.容器被分成网格状D.多个组件拥有同一个显示空间【答案】D【解析】CardLayout布局可以容纳多个组件,但多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
Java Shape图形绘制对象
java.awt.Shape接口提供了表示一些几何形状对象的定义,其主要实现类有Ellipse2D.Double(椭圆)、Line2D.Double(直线)、Rectangle2D.Double(矩形)、RoundRectangle2D.Double(带圆角的矩形)和Arc2D.Double(孤形)等。
无论绘制哪种图形,其图形绘制方法都拥有指定要绘制主题的位置参数,即用来确定绘制图形显示的坐标位置。
Java坐标系统水平轴为x,垂直轴为y,原点(0,0)在窗口左上角。
x坐标轴方向朝右,y坐标轴方向朝下。
Java中所有度量都是像素单位,以绘制一个椭圆为例,可以使用Shape接口下的实现类Ellipse2D.Double,
在上述代码中,重写了绘图用到的paint()方法,该方法主要实现对图形的绘图。
在该方法中调用了父类paint()方法,并实例化了一个Graphics2D图形类对象。
使用Ellipse2D类对象创建一个椭圆,设定椭圆的坐标与宽高并用Graphics2D类的draw()方法绘制椭圆。
执行上述代码,结果如图11-1所示。
图11-1 绘制椭圆。
java 心形代码Java 心形代码介绍Java 心形代码是一种用 Java 语言编写的程序,该程序可以在控制台或图形界面中输出一个心形图案。
这个程序通常由多个类和方法组成,其中包括了绘制心形的算法和控制台或图形界面的交互逻辑。
实现方法Java 心形代码可以通过多种方法实现,其中最常见的是使用数学公式来计算心形的点坐标并进行绘制。
以下是一个简单的示例:```import java.awt.*;import javax.swing.*;public class Heart extends JPanel {private static final long serialVersionUID = 1L;public void paintComponent(Graphics g) {super.paintComponent(g);Graphics2D g2d = (Graphics2D) g;int w = getWidth();int h = getHeight();Stroke stroke = new BasicStroke(2f);g2d.setStroke(stroke);g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);for (double t = 0.0; t < Math.PI * 2; t += 0.01) {double x = 16 * Math.pow(Math.sin(t), 3);double y = -13 * Math.cos(t) + 5 * Math.cos(2 * t)+ 2 * Math.cos(3 * t) + Math.cos(4 * t);int x1 = (int) (w / 2 + x);int y1 = (int) (h / 2 - y);g2d.drawLine(x1, y1, x1, y1);}}public static void main(String[] args) {JFrame frame = new JFrame("Heart");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new Heart());frame.setSize(300, 300);frame.setLocationRelativeTo(null);frame.setVisible(true);}}```该程序使用了 Java 的 Graphics2D 类来绘制心形图案。
一、背景介绍1. Java是一种面向对象的编程语言,广泛应用于企业级应用开发和互联网应用开发领域。
2. 在Java编程中,输入窗口和输出窗口是常用的交互界面,用于接收用户输入和显示程序运行结果。
3. 本文将介绍Java中输入窗口和输出窗口的写法,以及常见的应用场景。
二、输入窗口的写法1. 使用Scanner类来实现输入窗口。
Scanner scanner = new Scanner(System.in);String input = scanner.nextLine();// 读取用户输入并存储到变量input中2. 使用JOptionPane类来实现图形化输入窗口。
String input = JOptionPane.showInputDialog("请输入内容:");// 弹出带有输入框的窗口,等待用户输入,并将用户输入的内容存储到变量input中三、输出窗口的写法1. 使用System.out.println()来实现控制台输出。
System.out.println("Hello, World!");// 在控制台输出字符串"Hello, World!"2. 使用JOptionPane类来实现图形化输出窗口。
JOptionPane.showMessageDialog(null, "Hello, World!"); // 弹出带有消息提示框的窗口,显示字符串"Hello, World!"四、输入窗口和输出窗口的应用场景1. 输入窗口的应用- 用户信息输入:例如登录界面、注册界面等需要用户输入信息的场景。
- 数据采集:例如统计调查、问卷调查等需要用户提供信息的场景。
2. 输出窗口的应用- 程序执行结果展示:用户操作的反馈信息、程序执行的结果展示等应用场景。
- 提示信息显示:警告、错误提示、成功提示等信息的显示。