Java中画带有箭头的线段
最近由于要画活动图,所以需要画带有箭头的线段,于是结合有关资料,写出了这个方法。
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
public class test//读者可以更改类test的名字,以适合自己定义的.java文件,因为它只是用来测试的。
{
public static void main (String args[]){
DrawFrame frame=new DrawFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
}
class DrawFrame extends JFrame
{
public DrawFrame()
{
setTitle("Activity Diagram");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
// add panel to frame
ArrowLinePanel panel=new ArrowLinePanel();
add(panel);
}
// 活动图窗口大小
public static final int DEFAULT_WIDTH=1000;
public static final int DEFAULT_HEIGHT=800;
}
class ArrowLinePanel extends JPanel
{
// confirm the line position
public ArrowLinePanel()
{
setBackground(Color.white);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2=(Graphics2D) g;
g2.setPaint(Color.black);
drawAL(x1, y1, x2, y2, g2);//这里x1, y1, x2, y2必须要声明并且初始化,而具体声明的位置和初始化的值
//由编者自己决定,在这里,笔者没有声明它们。
}
public static void drawAL(int sx, int sy, int ex, int ey,Graphics2D g2)
{
double H = 6 ; // 箭头高度
double L = 6 ; // 底边的一半
int x3 = 0 ;
int y3 = 0 ;
int x4 = 0
相关文档:
// 整数到字节数组转换
public static byte[] int2bytes(int n) {
byte[] ab = new byte[4];
ab[0] = (byte) (0xff & n);
ab[1] = (byte) ((0xff00 & n) >> 8);
ab[2] = (byte) ((0xff0000 & n) >> 16);
ab[3] = (byte) ((0xff000000 & n) >> 24);
return ab ......
在之前的一篇文章中,我介绍了如何使用AIR2.0新增的NativeProcess类与本地进程进行交互和通讯,在那个例子里面我们使用了C++
的代码,实际上只要是基于命令行的标准输入输出,AIR2.0的应用是可以和任何语言编写的本地进程进行交互的。在今天的例子中,我们将学习如何和
Java编写的本地进程(.jar文件)进行交互。
上一篇 ......
在java的多线程同步互斥处理中,synchronized是别不可少的东西.
但是如果不清晰的编程的话,也就是乱用synchronized的话,死锁的发生就是离你很近的话题了.
在前面的一个维护中就发现一个死锁的bug.究其原因是开发者没有真正明白多线程的同步互斥,没有意识到死锁的发生,或者说自己认为写的代码不会发生死锁.
死锁的发生一般 ......
基于Java的mp3播放器源代码
(1 folders, 2 files, 1.38 KB, 962.53 KB in total.)
源码
(1 folders, 2 files, 1.38 KB, 961.15 KB in total.)
Java写的一个m ......
javac是编译,Java是执行。javac后面的名字要有.java。java后面直接跟名字,没有后缀名。
必须先到文件的路径下再进行编译执行。
注意文件里是否使用了包,如package lee;
如果使用了的话,必须加上包的名字,如 javac lee.LocaleList.java
java lee.LocaleList
如果需要传递参数,则只需在java xxx 后边跟上就行了。 ......