「Java画图组件」java图形界面组件
今天给各位分享Java画图组件的知识,其中也会对java图形界面组件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java可以用画图的形式来做各种控件吗?
- 2、如何用Java编写一个绘制图形的小程序?
- 3、Java写个画图程序简单吗
- 4、java 在哪些组件上绘图
- 5、用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画图组件的信息别忘了在本站进行查找喔。