資源簡介
可以隨機產生n個點,也可以鼠標點擊屏幕輸入點。根據所有點,用分治法和蠻力法計算最近點對,并且比較各自所消耗的代價。

代碼片段和文件信息
package?com.mainframe;
import?java.awt.*;
import?java.awt.event.*;
import?java.util.ArrayList;
import?javax.swing.*;
import?com.point.NearPoint;
import?com.point.Point;
import?com.util.algorithm.ShortestPath;
import?com.util.algorithm.QSort;
public?class?Mainframe?extends?Jframe?implements?MouseListener
MouseMotionListener?ActionListener?{
/**
?*?Thank?you?for?your?interest?in?the?source?code?of?this?page.:)?jp1:
?*?畫點的panel(BorderLayout中間)?jp2:?BorderLayout下方
?*/
private?JPanel?jp1?jp2?jp3?jp4?jp5jp6;
private?JButton?cal;
private?JButton?generate_random;
private?JButton?clear;
private?Checkbox?auto_generate;
private?Checkbox?manual;
private?JTextField?res1?res2?res3;
private?JTextField?random_number;
private?JLabel?random;
private?boolean?isAutoGenerate;
/**
?*?MouseX:鼠標點擊的X坐標?MouseY:鼠標點擊的Y坐標?Xcoord_Pointarr:存放所有的點坐標以X方向排序
?*?Ycoord_Pointarr:存放所有的點坐標以Y方向排序(實際算法中,index標識X的次序)
?*/
private?int?MouseX;
private?int?MouseY;
private?ArrayList?Xcoord_Pointarr;
private?ArrayList?Ycoord_Pointarr;
public?Mainframe()?{
/**
?*?初始化和界面
?*/
jp1?=?new?JPanel();
jp1.setBackground(Color.WHITE);
//?jp1.setSize(this.WIDTH?this.HEIGHT/3*2);
this.jp1.addMouseListener(this);
this.jp1.addMouseMotionListener(this);
jp2?=?new?JPanel();
//?jp2.setSize(this.WIDTH?this.HEIGHT/3);
//?jp2.setLayout(new?BorderLayout());
jp2.setLayout(new?FlowLayout());
jp3?=?new?JPanel();
jp3.setLayout(new?BorderLayout());
jp4?=?new?JPanel();
jp4.setLayout(new?BorderLayout());
jp5?=?new?JPanel();
jp5.setLayout(new?BorderLayout());
jp6?=?new?JPanel();
jp6.setLayout(new?BorderLayout());
cal?=?new?JButton(“Line?the?closest?pair?of?points“);
cal.addActionListener(this);
clear?=?new?JButton(“Clear?all?the?points“);
clear.addActionListener(this);
res1?=?new?JTextField(25);
res2?=?new?JTextField(25);
res3?=?new?JTextField(25);
random?=?new?JLabel(“Input?random?number:“);
random_number?=?new?JTextField(5);
generate_random?=?new?JButton(“Generate?random?points.“);
generate_random.addActionListener(this);
CheckboxGroup?g?=?new?CheckboxGroup();
auto_generate?=?new?Checkbox(“1.?Auto?generate?points.“?g?false);
? ????manual?=?new?Checkbox(“2.?Enter?points?by?mouse.“?g?true);
jp3.add(random?BorderLayout.NORTH);
jp3.add(random_number?BorderLayout.CENTER);
jp3.add(generate_random?BorderLayout.SOUTH);
jp4.add(res1?BorderLayout.NORTH);
jp4.add(res2?BorderLayout.CENTER);
jp4.add(res3?BorderLayout.SOUTH);
jp5.add(cal?BorderLayout.NORTH);
jp5.add(clear?BorderLayout.SOUTH);
jp6.add(auto_generate?BorderLayout.NORTH);
jp6.add(manual?BorderLayout.SOUTH);
//?jp2.add(jp3?BorderLayout.WEST);
//?jp2.add(jp4?BorderLayout.CENTER);
//?jp2.add(jp5?BorderLayout.EAST);
jp2.add(jp6);
jp2.add(jp3);
jp2.add(jp4);
jp2.add(jp5);
????t
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????226??2009-10-06?01:12??NearestPoint\.classpath
?????文件????????388??2009-10-06?01:12??NearestPoint\.project
?????文件???????7928??2009-10-06?19:33??NearestPoint\com\mainfr
?????文件???????8836??2009-10-06?19:33??NearestPoint\com\mainfr
?????文件???????1124??2009-10-06?13:22??NearestPoint\com\point\NearPoint.class
?????文件????????788??2007-09-29?19:48??NearestPoint\com\point\NearPoint.java
?????文件???????1086??2009-10-06?13:22??NearestPoint\com\point\Point.class
?????文件????????856??2007-09-29?19:48??NearestPoint\com\point\Point.java
?????文件???????1688??2009-10-06?14:25??NearestPoint\com\util\algorithm\QSort.class
?????文件???????2316??2009-10-06?14:25??NearestPoint\com\util\algorithm\QSort.java
?????文件???????2921??2009-10-11?16:11??NearestPoint\com\util\algorithm\ShortestPath.class
?????文件???????4057??2009-10-11?16:11??NearestPoint\com\util\algorithm\ShortestPath.java
?????目錄??????????0??2009-10-06?19:47??NearestPoint\com\util\algorithm
?????目錄??????????0??2009-10-06?13:22??NearestPoint\com\mainfr
?????目錄??????????0??2009-10-06?13:22??NearestPoint\com\point
?????目錄??????????0??2009-10-06?10:12??NearestPoint\com\util
?????目錄??????????0??2009-10-06?12:31??NearestPoint\com
?????目錄??????????0??2009-10-06?10:12??NearestPoint
-----------?---------??----------?-----??----
????????????????32214????????????????????18
- 上一篇:網上教學系統UML建模
- 下一篇:utm坐標和經緯度相互轉換
評論
共有 條評論