java图形程序设计之面板图形绘制
来源:互联网 发布:php 企业建站 编辑:程序博客网 时间:2024/05/07 02:44
基于JFrame下建立的框架添加面板2D图形绘制
import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.geom.Arc2D;import java.awt.geom.Ellipse2D;import java.awt.geom.Line2D;import java.awt.geom.Rectangle2D;import javax.swing.JFrame;import javax.swing.JPanel;public class newFrame { public static void main(String[] args) { // TODO Auto-generated method stub drawFrame jf = new drawFrame(); jf.setVisible(true);//设置可见性 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口退出相应的程序 }}//继承于JFrame的框架class drawFrame extends JFrame{ //在这个构造方法中设置框架的属性 public drawFrame() { this.setTitle("框架设计");//标题 this.setSize(600, 400);//设置窗口大小 this.setLocationRelativeTo(null);//居中显示窗口 this.setResizable(false);//设置窗口的可调整性 /** * 为框架添加内容 * 添加一个Panel面板 */ drawPanel jp = new drawPanel(); this.add(jp);//(jp,BorderLayout.SOUTH)后面的参数设置面板在框架中的位置 }}//继承JPanel的面板class drawPanel extends JPanel{ //可以设置面板的一些基本属性 public drawPanel() { this.setBackground(Color.lightGray);//设置面板的背景颜色 } public void paintComponent(Graphics g) { super.paintComponent(g);//确保父类完成自己的绘制工作 //开始绘制工作 g.setColor(Color.RED); g.drawLine(0, 0, 200, 300);//完成画线 这里的坐标是以框架左上角为(0,0)坐标进行绘制的 g.drawRect(310, 320, 60, 40);//矩形的绘制 g.drawString(" Hello, World",75,100);//(75,100)坐标,单位为像素 Graphics2D g1 = (Graphics2D) g; this.draw(g1);//传递Graphics2D类型的参数g1 } private void draw(Graphics2D g) { // TODO Auto-generated method stub //设置绘制颜色 g.setPaint(Color.BLACK); //使用左上顶点的坐标、宽度和高度 Rectangle2D rect = new Rectangle2D.Double(200,200,100,100); /* * 使用对角线上的两个顶点 * Rectangle2D doubleRect=new Rectangle2D.Double( ); * doubleRect.setFrameFromDiagonal(x1,y1,x2,y2); */ Line2D line = new Line2D.Double(50, 40,50, 150); //绘制椭圆方法 Ellipse2D e = new Ellipse2D.Double(150, 150, 200, 50);//外接矩形 /* * 已知外接矩形 * e.setFrame(rect); * 使用中心点和一个顶点坐标 * e.setFrameFromCenter(centerx,centery,x1,y1 ); */ //弧形的绘制 //使用左上顶点的坐标、宽度、高度、起始角度和跨度、闭合类型 /** Arc2D a=new Arc2D.Double(startx,starty,width,height,startangle, extent ,arcangle,type ); */ g.draw(rect); g.draw(line); g.draw(e); }}
运行截图
0 0
- java图形程序设计之面板图形绘制
- java图形程序设计框架下添加面板
- 在面板中绘制图形
- java图形程序设计之字体
- java基础学习之图形绘制
- Openlayers之图形绘制
- JAVA学习---绘制图形
- JAVA绘制图形方法
- Java图形化绘制
- java图形绘制
- Java Graphics 图形绘制
- Java绘制基本图形
- 【java】绘制图形
- JFreeChart java 图形绘制
- Java Graphics 图形绘制
- java 学习 图形界面程序设计 第二课 绘制简单图形
- java图形程序设计之框架搭建
- java图形程序设计之图片显示
- 解密jQuery事件核心 - 绑定设计(一)
- 可扩展机器学习——梯度下降(Gradient Descent)
- UCOS 的延时函数OSTimeDlyHMSM()实现精确延时
- 二叉树中后序序列求先序序列
- android加载大图片内存问题
- java图形程序设计之面板图形绘制
- 大数相加
- 两个Activity之间的切换动画
- poj3111
- 一些不熟悉的概念
- Android 倒计时(时分秒)
- Cookie (一)
- 大数阶乘
- Implement Stack using Queues