绘制图形
在Java中绘制图形是比较简单的,我们今天来用一个例子做演示。
为了更好的演示绘制过程,我们将创建三个文件。
使用编辑工具Eclipse
三个Java文件分别是Rectangle.java、Jframe.java、Demo.java
首先我们来看Rectangle.java
示例代码如下:
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.Rectangle2D.Double;
import javax.swing.JPanel;
public class Rectangles extends JPanel{
public Dimension getPreferredSize() {
return new Dimension(400,400);
}
public void paintComponent(Graphics g) {
Graphics2D g2=(Graphics2D) g;
Rectangle2D rect=new Rectangle2D.Double(100,100,198,200);
g2.draw(rect);
}
}
如果我们要进行图形绘制,就需要让我们的创建的类来继承JPanel类,并在其内部要重新一个方法paintComponent(Graphics g)上例子中的另外一个方法,也可以作为调用方法在调用时使用,但是我习惯将它写在绘制文件中。
在paintComponent(Graphics g)这个方法中,我们要首先来看一下Graphics这个类型的参数,这参数保存着用于绘制图像和文本的设置。但是在Java2D库中,我们使用的是Graphics2D这个类,所以我们要进行类型转换Graphics2D g2=(Graphics2D) g;之后我们在方法内就可以使用了。我们接着声明了一个Rectangle2D的矩形对象实例rect,在new Rectangle2D.Double(100,100,198,200);这里大家要注意一下,在这里其实有两种参数写法,一种是我们现在使用的double类型参数,还有一种是float类型,只需要对其做相应替换就可以了,声明好之后,我们就可以调用g2.draw(rect);。
在
public Dimension getPreferredSize() {
return new Dimension(400,400);
}
方法中,我们设置了显示框架的大小。
接下来我们创建框架文件Jframe.java
示例代码如下:
import javax.swing.JFrame;
public class Jframe extends JFrame{
public Jframe() {
add(new Rectangles());
pack();
}
}
首先我们要让我们建立的类继承JFrame类。
然后就比较简单了。我们只需要创建一个无参构造就可以了。在里面我们调用了两个方法
add()在其中我们需要填入要显示的绘制文件实例add(new Rectangles());
然后使用pack();
最后我们来编写测试文件Demo.java
示例代码如下:
import javax.swing.JFrame;
public class Demo {
public static void main(String[] args) {
JFrame frame=new Jframe();
frame.setTitle("Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
先要声明一个JFrame的实例frame继而调用了,三个方法。
**frame.setTitle(“Demo”);**设置显示标题。
**frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);**关闭后的选择
**frame.setVisible(true);**是否显示