本文共 2422 字,大约阅读时间需要 8 分钟。
本文将展示两种常见的Java AWT图形编程技术:画笔绘图与鼠标事件监听。
import java.awt.*;public class TestPaint { public static void main(String[] args) { new MyPaint().loadFrame(); }}class MyPaint extends Frame { public void loadFrame() { setBounds(100, 100, 500, 500); setVisible(true); } @Override public void paint(Graphics g) { // 设置画笔颜色 g.setColor(Color.CYAN); // example 1:填充椭圆 g.fillOval(100, 100, 100, 100); // example 2:填充矩形 g.setColor(Color.magenta); g.fillRect(200, 150, 100, 100); // 注意:画笔使用完毕后,应恢复初始颜色 }} 该代码示例演示了使用Java AWT图形包(java.awt)实现简单绘图功能。具体包括以下步骤:
setBounds方法确定窗口大小和位置。setVisible方法使窗口可见。setColor方法为画笔选择颜色。fillOval方法绘制圆形区域。fillRect方法绘制矩形区域。package com.GUI.Lesson03;import java.awt.*;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.ArrayList;import java.util.Iterator;public class TestMouseListener { public static void main(String[] args) { new MyFrame(); }}class MyFrame extends Frame { // 存储鼠标点击点的集合 ArrayList points = new ArrayList(); public MyFrame() { setBounds(100, 100, 400, 400); setVisible(true); // 添加鼠标点击监听 this.addMouseListener(new MyMouseListener()); } @Override public void paint(Graphics g) { // 重新绘制所有记录的点 Iterator iterator = points.iterator(); while (iterator.hasNext()) { Point point = (Point) iterator.next(); g.setColor(Color.magenta); g.fillOval(point.x, point.y, 10, 10); } } // 添加点击点到集合 public void addPoints(Point point) { points.add(point); } // 鼠标事件监听类 private class MyMouseListener extends MouseAdapter { @Override public void mousePressed(MouseEvent e) { MyFrame myFrame = (MyFrame) e.getSource(); // 记录鼠标点击位置 myFrame.addPoints(new Point(e.getX(), e.getY())); // 刷新窗口以显示新的绘图 myFrame.repaint(); } }} 该代码示例展示了如何通过Java AWT图形包实现鼠标事件监听功能,具体包括以下步骤:
Frame类,负责绘图和事件处理。MouseAdapter,负责处理鼠标事件。repaint方法刷新窗口,显示最新绘图。以上代码示例展示了Java AWT图形编程的基础应用,涵盖了画笔绘图与鼠标事件监听两大核心功能。通过合理组合这些技术,可以实现更加复杂的图形交互应用程序。
转载地址:http://xgzs.baihongyu.com/