21xrx.com
2025-07-12 13:06:04 Saturday
登录
文章检索 我的文章 写文章
Java图形编程入门:从实例学习
2023-06-14 15:29:26 深夜i     12     0

Java图形编程是Java中的一个重要部分,它提供了一种在桌面环境中创建用户界面(UI)的方法。通过使用Java图形工具包(Java Graphic Toolkit, AWT)和Swing框架,Java开发人员可以创建富有创意性、动态和交互式的桌面应用程序。

下面是一个简单的代码案例,它展示了如何绘制一个可拖动的方块。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DraggableBox extends JPanel implements MouseListener, MouseMotionListener {
 int _boxX, _boxY;
 int _prevX, _prevY;
 boolean _dragging = false;
 public DraggableBox() {
  setPreferredSize(new Dimension(400, 300));
  addMouseListener(this);
  addMouseMotionListener(this);
 }
 protected void paintComponent(Graphics g) {
  super.paintComponent(g);
  if (_dragging) {
   g.setColor(Color.green);
   g.fillRect(_boxX, _boxY, 30, 30);
  } else {
   g.setColor(Color.blue);
   g.fillRect(_boxX, _boxY, 30, 30);
  }
 }
 public void mousePressed(MouseEvent e) {
  _prevX = e.getX();
  _prevY = e.getY();
  if ((_prevX > _boxX && _prevX < _boxX + 30) && (_prevY > _boxY && _prevY < _boxY + 30))
   _dragging = true;
  
 }
 public void mouseReleased(MouseEvent e)
  _dragging = false;
 
 public void mouseDragged(MouseEvent e) {
  if (_dragging) {
   int deltaX = e.getX() - _prevX;
   int deltaY = e.getY() - _prevY;
   _boxX += deltaX;
   _boxY += deltaY;
   _prevX = e.getX();
   _prevY = e.getY();
   repaint();
  }
 }
 public void mouseMoved(MouseEvent e) {}
 public void mouseClicked(MouseEvent e) {}
 public void mouseEntered(MouseEvent e) {}
 public void mouseExited(MouseEvent e) {}
 public static void main(String[] args) {
  JFrame frame = new JFrame("Draggable Box");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.add(new DraggableBox());
  frame.pack();
  frame.setVisible(true);
 }
}

代码的下半部分是一个简单的应用程序,它实例化了一个JFrame对象,并将一个DraggableBox实例添加到其内容面板中。

Java图形编程最常用的关键词包括:Java Graphic Toolkit、Swing、用户界面、桌面应用程序、AWT、鼠标事件、颜色、绘制、坐标系。

  
  

评论区