21xrx.com
2024-11-22 14:05:24 Friday
登录
文章检索 我的文章 写文章
Java图形编程入门:从实例学习
2023-06-14 15:29:26 深夜i     --     --

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、鼠标事件、颜色、绘制、坐标系。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复