JAVA 绘制圆形(可视化java)
在Java可视化领域内,java提供了很多画图功能,这些功能可以通过子类父类继承关系,扩展利用这些功能,画出我们想要的图形。JAVA 子类,父类的理解(美妙的树形关系)
·
前言:
在Java可视化领域内,java提供了很多画图功能,这些功能可以通过子类父类继承关系,扩展利用这些功能,画出我们想要的图形。
如果对子类父类关系模糊,可以看:JAVA 子类,父类的理解(美妙的树形关系)
1. java提供的一些画图类:
JFrame
---- 画框
JPanel
---- 画板
Graphics
---- 画笔
就像正常画画一样,利用这些类进行绘画。
2. 利用画笔,在画板中画出圆:
需要创建一个MyPane继承JPanel类内的一些功能,再利用画笔Graphics类在其中画图即可
代码如下:
class MyPanel extends JPanel{//利用画板画图。
public void paint(Graphics g) {//要扩展父类某个方法,这个方法名字不能改动(系统自动调用)
super.paint(g);//继承父类的优良方法。
//扩展新内容
g.drawOval(10, 10, 100, 100);//画圆
}
}
其中drawOval
是从父类继承过来的画圆函数,绘画逻辑如下:
注意: paint方法名字不能改,其由Java底层逻辑自己调用,改了名字无法调用,也就没有图。
代码如下:
class MyPanel extends JPanel{//利用画板画图。
public void paint(Graphics g) {//要扩展父类某个方法,这个方法名字不能改动(系统自动调用)
super.paint(g);//继承父类的优良方法。
//扩展新内容
g.drawOval(10, 10, 100, 100);//画圆
}
}
3. 将画完圆的画板安置在画框内:
代码:
import java.awt.Graphics;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame{
public static void main(String[] args) {
// TODO Auto-generated method stub
new Main();//建立一个Main类对象
}
public Main() {//构造器
MyPanel mp = new MyPanel();
this.add(mp);//将画板镶嵌在画框中
this.setSize(400, 400);//画框大小(像素)
this.setVisible(true);//允许可视化
}
}
安置过程是在Main类构造器内实现。
4. 完整代码:
完整代码如下:
import java.awt.Graphics;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame{
public static void main(String[] args) {
// TODO Auto-generated method stub
new Main();//建立一个Main类对象
}
public Main() {//构造器
MyPanel mp = new MyPanel();
this.add(mp);//将画板镶嵌在画框中
this.setSize(400, 400);//画框大小(像素)
this.setVisible(true);//允许可视化
}
}
class MyPanel extends JPanel{//利用画板画图。
public void paint(Graphics g) {//要扩展父类某个方法,这个方法名字不能改动(系统自动调用)
super.paint(g);//继承父类的优良方法。
//扩展新内容
g.drawOval(10, 10, 100, 100);//画圆
}
}
效果:
更多推荐
已为社区贡献1条内容
所有评论(0)