「JAVA绘制移动的矩形」JAVA矩形
本篇文章给大家谈谈JAVA绘制移动的矩形,以及JAVA矩形对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中鼠标拖动画矩形怎么消除拖动的痕迹,最后只得到一个矩形框
- 2、请问如何用java编写一个软件,可以在上面画一些图形(比如矩形),然后可以选中,并移动甚至放大或者缩小它
- 3、如何用java写矩形平移和旋转后输出坐标的代码
- 4、用Java如何在屏幕上(桌面上)画出一个矩形
- 5、java画矩形
java中鼠标拖动画矩形怎么消除拖动的痕迹,最后只得到一个矩形框
这需要对鼠标事件有一定的了解,首先实现鼠标按下和抬起两个事件,按下时记录矩形的起始位置,抬起时记录矩形的最终位置,两个坐标值相减,得到矩形的高度和宽度即可最终确定一个矩形,画出来。
另外最重要的部分是实现拖动痕迹的处理,需要实现的的鼠标拖动的事件(具体可以进行判断比如按住左键拖动,右键拖动等),还记得鼠标按下的事件记录的矩形其实位置吧,拖动事件需要记录当前矩形的位置,两个坐标值相减,得到矩形的高度和宽度即可最终确定一个矩形,画出来。
问题就来了,那就是有两个矩形了,这时在鼠标抬起的事件中删除一个拖动痕迹的矩形。
请问如何用java编写一个软件,可以在上面画一些图形(比如矩形),然后可以选中,并移动甚至放大或者缩小它
给你说下思想
第一种:
用到2个简单面板
第一个面板放到内容面板的中心区域(设置成流式布局)
第二个面板放到第一个面板里面(画矩形)
给面板2注册监听器(鼠标)
后面的自己构思吧
放大或者缩小 根据面板的中心
第二种思想就是直接利用 多文档技术
如何用java写矩形平移和旋转后输出坐标的代码
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
public class LX3_3 extends Applet {
public void paint(Graphics g) {
g.setColor(Color.red);//设置红颜色
g.drawOval(35,35,100,60);//画椭圆(圆心、宽和高)
g.fillOval(200,15,60,100);//画具有填充色的圆
g.setColor(Color.blue);//设置蓝颜色
g.drawRect(20,130,80,80);//画矩形
g.fillRect(120,130,80,80);//画具有填充色的矩形
g.drawRoundRect(220,130,80,80,20,20);//画圆角矩形
g.fillRoundRect(320,130,80,80,20,20);//画具有填充色的 圆角矩形
}
}
该程序是在Myeclipse的环境下运行的
在二维平面内,画长方形等都只需要改变点的坐标即可实现平移,旋转,缩放
上面还加入了颜色,可供参考
水平有限,但希望对你有帮助
用Java如何在屏幕上(桌面上)画出一个矩形
在java.awt.Graphics类中有绘制矩形的方法.用drawRect(int x, int y, int width, int height)方法画出,,也可以用fillRect()画出以当前颜色填充的矩形.
java画矩形
直接说event是简单,不过总要试一试才敢拿上来讲,所以就全写上来了。。。
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.event.MouseInputAdapter;
import javax.swing.event.MouseInputListener;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new PaintingPanel());
frame.setBounds(100, 100, 400, 400);
frame.setVisible(true);
}
}
class PaintingPanel extends JPanel {
ArrayListRectangle list;
Rectangle current;
public PaintingPanel() {
list = new ArrayListRectangle();
addMouseMotionListener(mouseHandler);
addMouseListener(mouseHandler);
}
MouseInputListener mouseHandler = new MouseInputAdapter() {
Point startPoint;
public void mousePressed(MouseEvent e) {
startPoint = e.getPoint();
current = new Rectangle();
}
public void mouseReleased(MouseEvent e) {
makeRectangle(startPoint, e.getPoint());
if (current.width 0 current.height 0) {
list.add(current);
current = null;
repaint();
}
}
public void mouseDragged(MouseEvent e) {
if (current != null) {
makeRectangle(startPoint, e.getPoint());
repaint();
}
}
private void makeRectangle(Point p1, Point p2) {
int x = Math.min(p1.x, p2.x);
int y = Math.min(p1.y, p2.y);
int w = Math.abs(p1.x - p2.x);
int h = Math.abs(p1.y - p2.y);
current.setBounds(x, y, w, h);
}
};
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.BLACK);
for (Rectangle rect : list) {
g.fillRect(rect.x, rect.y, rect.width, rect.height);
}
if (current != null) {
g.drawRect(current.x, current.y, current.width, current.height);
}
}
}
JAVA绘制移动的矩形的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA矩形、JAVA绘制移动的矩形的信息别忘了在本站进行查找喔。
发布于:2022-12-21,除非注明,否则均为
原创文章,转载请注明出处。