I’ve been trying to find a workarounds, but have not found one,

especially for the getGraphics() method: how else can the graphics be

added to the panel?

你记得需要绘制一个变量,并在paintComponent()中使用它.

例如,你似乎在尝试在你的另一个问题上看起来像:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class PaintRectangle extends JPanel {

private Point mouseLocation;

public PaintRectangle() {

setPreferredSize(new Dimension(500, 500));

MouseAdapter listener = new MouseAdapter() {

@Override

public void mousePressed(MouseEvent e) {

updateMouseRectangle(e);

}

private void updateMouseRectangle(MouseEvent e) {

mouseLocation = e.getPoint();

repaint();

}

@Override

public void mouseDragged(MouseEvent e) {

updateMouseRectangle(e);

}

@Override

public void mouseReleased(MouseEvent e) {

mouseLocation = null;

repaint();

}

};

addMouseListener(listener);

addMouseMotionListener(listener);

}

private Rectangle getRectangle() {

if(mouseLocation != null) {

return new Rectangle(mouseLocation.x - 5, mouseLocation.y - 5, 10, 10);

}

else {

return null;

}

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

Rectangle rectangle = getRectangle();

if(rectangle != null) {

Graphics2D gg = (Graphics2D) g;

gg.setColor(Color.BLUE);

gg.fill(rectangle);

gg.setColor(Color.BLACK);

gg.draw(rectangle);

}

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

JFrame frame = new JFrame("Test");

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

frame.getContentPane().add(new PaintRectangle());

frame.pack();

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

});

}

}

java panel paint_在paintbrush类型的GUI中,java – paintComponent()和paint()和JPanel对Canvas相关推荐

  1. java获取panel面板画笔_java - paintComponent()与paint()和JPanel vs Canvas在画笔类型的GUI中 - 堆栈内存溢出...

    我一直试图找到一个解决方法,但没有找到一个,特别是对于getGraphics()方法:如何将图形添加到面板? 你记得需要绘制的变量是什么,并在paintComponent()中使用它. 例如,您在其他 ...

  2. jni java c 变量对应_GitHub - jkangzhang/JNIDemo: JNI中Java和C的数据传递

    基本类型 对于基本类型的传递,只需要按照表格找到对应即可. Java Type Native Type Description boolean jboolean 8 bits, unsigned by ...

  3. java获取linux下面所有线程,获取Linux中Java线程的线程ID

    最后,我发现JNI方式是解决我的问题的最佳方式.作为参考,我张贴代码,并建立它(基于example在维基百科)说明: Java类负责接口的C代码(GetThreadID.java): public c ...

  4. windows10中java调用python脚本

    文章目录 1. windows基础环境 1.1 java安装 1.1.1 下载jdk(版本可自选) 1.1.2 安装jdk 1.1.3 配置java环境变量 1.2 python安装 1.2.1 py ...

  5. Java程序设计学习笔记(四)—— GUI

    时间:2016-3-24 11:24 天道酬勤 --GUI(图形用户界面)     1.GUI         Graphical User Interface(图形用户接口).         用图 ...

  6. java swing开发窗体程序开发(一)GUI编程

    Java SWing就是java提供的一个类库专门用于开发窗体程序的,相对于C#的winform,java swing的开发要比C#更加麻烦,他不像C#拥有可视化的界面编辑工具 而是需要像QT一样纯代 ...

  7. java的图形用户界面_Java学习之GUI(图形用户界面)

    一.GUI 概述 1.概述: 1.GUI:Graphical User Interface,即图形用户界面,用于计算机与用户交互的一种方式 2.计算机与用户交互的形式:GUI和CLI GUI: Gra ...

  8. java事件绑定,Java编程GUI中的事件绑定代码示例

    程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来.对java来说,绑定分为静态绑定和动态绑定:或者叫做前期绑定和后期绑定 静态绑定: 在程序执行前方法已经被绑定,此时由编译 ...

  9. Java聊天室项目GUI界面化实现(Java聊天室 IO流 Socket流 GUI界面 )

    Java聊天室项目GUI界面化实现(Java聊天室 IO流 Socket流 GUI界面 ) 文章目录 Java聊天室项目GUI界面化实现(Java聊天室 IO流 Socket流 GUI界面 ) 1.J ...

最新文章

  1. 一个域名可以对应多个ip地址吗_域名解析 | A记录 ,CNAME,MX,NS 你懂了吗
  2. Ubuntu命令行下安装,卸载软件包的过程
  3. python编程入门到实践pdf下载-Python编程从入门到实践的PDF教程免费下载
  4. inline hook学习
  5. python3.9出了吗_Python 3.9 正式版要来了,会有哪些新特性?
  6. 1.3.1 操作系统的运行机制和体系结构(大内核、小内核)
  7. 343. Integer Break
  8. python webservice接口测试传参数_Python3 webservice接口测试方法是什么
  9. elf文件格式实例解析
  10. 小程序监听android返回键,如何监听小程序返回按钮事件?
  11. Hi3519AV100 SDK文档解读
  12. 【所见即所得】数据分析最有用的25个 Matplotlib图【附代码】
  13. native链接mysql报错_连接报错'mysql_native_password'
  14. 「驱动安装」HighPoint RocketRAID R2722 磁盘阵列卡 驱动安装教程
  15. 机器学习:kNN算法(一)—— 原理与代码实现(不调用库)
  16. 通过JS定义一个Iframe
  17. 小米嵌入式工程师面试-心得
  18. 大数据背后的神秘公式:贝叶斯公式(万字长文)
  19. 智能建筑中高低压配电设备集成监控和管理系统应用分析-李亚俊
  20. 最长公共子序列问题——LCS算法

热门文章

  1. 埃隆马斯克又开始卖板砖了?
  2. Python之十二星座
  3. 前端书籍参考书籍以及手册
  4. FLASH软件测试培训,Flash基础知识测试题(最新整理)
  5. 业余-----中国当代内地影视明星123
  6. 解决matplotlib画多幅子图时,出现图形部分重叠的问题
  7. 经典算法详解(10)图中有多少个三角形
  8. 清新文具科学通用教学课件PPT模板
  9. dymola学习笔记-第四天——学习软件自带教程DymolaUserManualVolume1,page87-104
  10. 白鹭(egret)工具集介绍二