「Java画图组件」java图形界面组件

博主:adminadmin 2023-03-19 07:17:07 378

今天给各位分享Java画图组件的知识,其中也会对java图形界面组件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java可以用画图的形式来做各种控件吗?

自已写 class 继承已经有的其它的 Jxxx 类,比如 JLabel,JTable 之类的,然后覆盖掉它的 paintComponent 方法,或其它的 setUI(...) 给出自己的 UI 类来完成画图功能。

我们定制控件本身除了数据内容会略有扩增外,另一个重要的期望就是外观要合自己的想法。

比如:我们希望做一个 Tree Table,这个在 Swing 中就没有相应的组件,我们可以定制,办法就是用一个 JTable 和一个 JTree 合成后面的逻辑,然后在 paint 绘图上下功夫让一个 JTree 在画图显示出来的瞬间把 JTree 的某部分绘出来显示在指定的矩形框内,我们需要计算出一次给一个 Cell 刚好绘出 JTree 的一个节点的内容并限制在这个 Cell 的矩形框内。

我们绘图本身只是说“我希望控件显示成什么样子”,但前提是我们必须已经有相应的控件。下面是一个产品级的样品,可视化编辑界面,直接预览。可以有 Tree Table。

如何用Java编写一个绘制图形的小程序?

import java.awt.*;

import java.awt.event.*;

import java.awt.geom.*;

import javax.swing.*;

//不规则图形的绘制

public class IrregularShapeDemo extends JFrame {

GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例

Point aPoint;

//构造函数

public IrregularShapeDemo() {

super("不规则图形的绘制"); //调用父类构造函数

enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK); //允许事件

setSize(300, 200); //设置窗口尺寸

setVisible(true); //设置窗口可视

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序

}

public void paint(Graphics g) { //重载窗口组件的paint()方法

Graphics2D g2D = (Graphics2D)g;//获取图形环境

g2D.draw(gPath); //绘制路径

}

public static void main(String[] args) {

new IrregularShapeDemo();

}

protected void processMouseEvent(MouseEvent e) { //鼠标事件处理

if(e.getID() == MouseEvent.MOUSE_PRESSED) {

aPoint = e.getPoint(); //得到当前鼠标点

gPath = new GeneralPath(); //重新实例化GeneralPath对象

gPath.moveTo(aPoint.x,aPoint.y); //设置路径点

}

}

protected void processMouseMotionEvent(MouseEvent e) { //鼠标运动事件处理

if(e.getID() == MouseEvent.MOUSE_DRAGGED) {

aPoint = e.getPoint(); //得到当前鼠标点

gPath.lineTo(aPoint.x, aPoint.y); //设置路径

gPath.moveTo(aPoint.x, aPoint.y);

repaint(); //重绘组件

}

}

}

Java写个画图程序简单吗

简单啊,先引入相应的组件包 import java.awt.*;import java.awt.event.*;import javax.swing.*;写的类要继承JFrame 接下来就是调用刚刚引入包里面的方法了,paint();这是就思路了。

java 在哪些组件上绘图

awt的Panel,Canvas

swing的JPanel

都是比较常用的绘图载体

重写它们的paint(Graphics)方法即可,或paintComponents(Graphics)方法

用java编写一个简单的画图程序。不用复杂

import java.awt.*;

import java.awt.event.*;

import java.awt.geom.*;

import javax.swing.*;

//不规则图形的绘制

public class IrregularShapeDemo extends JFrame {

GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例

Point aPoint;

//构造函数

public IrregularShapeDemo() {

super("不规则图形的绘制"); //调用父类构造函数

enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK); //允许事件

setSize(300, 200); //设置窗口尺寸

setVisible(true); //设置窗口可视

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序

}

public void paint(Graphics g) { //重载窗口组件的paint()方法

Graphics2D g2D = (Graphics2D)g; //获取图形环境

g2D.draw(gPath); //绘制路径

}

public static void main(String[] args) {

new IrregularShapeDemo();

}

protected void processMouseEvent(MouseEvent e) { //鼠标事件处理

if(e.getID() == MouseEvent.MOUSE_PRESSED) {

aPoint = e.getPoint(); //得到当前鼠标点

gPath = new GeneralPath(); //重新实例化GeneralPath对象

gPath.moveTo(aPoint.x,aPoint.y); //设置路径点

}

}

protected void processMouseMotionEvent(MouseEvent e) { //鼠标运动事件处理

if(e.getID() == MouseEvent.MOUSE_DRAGGED) {

aPoint = e.getPoint(); //得到当前鼠标点

gPath.lineTo(aPoint.x, aPoint.y); //设置路径

gPath.moveTo(aPoint.x, aPoint.y);

repaint(); //重绘组件

}

}

}

Java画图组件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java图形界面组件、Java画图组件的信息别忘了在本站进行查找喔。