FigurePanel类的实例
来源:互联网 发布:php 数组按key排序 编辑:程序博客网 时间:2024/05/16 12:21
import java.awt.*;import javax.swing.*;public class TestFigurePanel extends JFrame{public TestFigurePanel(){setLayout(new GridLayout(2,3,5,5));add(new FigurePanel(FigurePanel.LINE));add(new FigurePanel(FigurePanel.RECTANGLE));add(new FigurePanel(FigurePanel.ROUND_RECTANGLE));add(new FigurePanel(FigurePanel.OVAL));add(new FigurePanel(FigurePanel.RECTANGLE,true));add(new FigurePanel(FigurePanel.ROUND_RECTANGLE,true));}public static void main(String[] args){TestFigurePanel frame=new TestFigurePanel();frame.setTitle("TestFigurePanel");frame.setSize(400, 200);frame.setLocationRelativeTo(null);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}
import java.awt.*;import javax.swing.*;public class FigurePanel extends JPanel{public static final int LINE=1;public static final int RECTANGLE=2; public static final int ROUND_RECTANGLE=3; public static final int OVAL=4; private int type=1; private boolean filled=false; public FigurePanel(){ } public FigurePanel(int type){ this.type=type; } public FigurePanel(int type,boolean filled ){ this.type=type; this.filled=filled; }protected void paintComponent(Graphics g){super.paintComponent(g);int width=getWidth();int height=getHeight();switch(type){case LINE:g.setColor(Color.BLACK);g.drawLine(10,10,width-10,height-10);g.drawLine(width-10, 10, 10, height-10);break;case RECTANGLE:g.setColor(Color.BLUE);if(filled)g.fillRect((int)(0.1*width),(int)(0.1*height),(int)(0.8*width),(int)(0.8*height));elseg.drawRect((int)(0.1*width),(int)(0.1*height),(int)(0.8*width),(int)(0.8*height));break;case ROUND_RECTANGLE:g.setColor(Color.RED);if(filled)g.fillRoundRect((int)(0.1*width), (int)(0.1*height), (int)(0.8*width),(int)(0.8*height), 20, 20);elseg.drawRoundRect((int)(0.1*width), (int)(0.1*height), (int)(0.8*width),(int)(0.8*height), 20, 20);break;case OVAL:g.setColor(Color.BLACK);if(filled)g.fillOval((int)(0.1*width),(int)(0.1*height),(int)(0.8*width),(int)(0.8*height));elseg.drawOval((int)(0.1*width),(int)(0.1*height),(int)(0.8*width),(int)(0.8*height));break;}}public void setType(int type){this.type=type;repaint();}public int getType(){return type;}public void setFilled(boolean filled){this.filled=filled;}public boolean isFilled(){return filled;}public Dimension getPreferredSize(){return new Dimension(80,80);}}
0 0
- FigurePanel类的实例
- FigurePanel 类应用举例
- TestFigurePanel.java + FigurePanel
- Intro to Java Programming, 6E - FigurePanel.java
- 类的内部实例
- 类的实例化
- 什么是类的实例
- New 类的实例
- 类的实例化
- 类的实例与实例的成员变量的销毁
- 类的实例和实例的成员变量的销毁
- C++之类,类的数组,一次实例化多个类的实例。
- 类的构造过程实例
- 类实例个数的限制
- Hashtable存储类的实例
- 类的实例化步骤
- c# 类的反射实例
- 获得实例的类名
- xdr-union的试用
- pat 1025 反转链表
- 英语学习月总结
- BlueStacks - 可直接在电脑上运行 Android 软件游戏的模拟器!瞬间将电脑变成安卓手机
- Codeforces Round #240 (Div. 2)
- FigurePanel类的实例
- 难以割舍
- LED点阵的基本操作探索
- 第三周作业——冒泡排序和归并排序
- 大话设计模式之工厂模式
- java学习笔记 第二篇 核心技术
- new delete 开辟空间和释放空间
- 在ubuntu下移植开源项目时候遇到的问题
- linux驱动头文件位置的说明