📄 consoleframe.java
字号:
package net.aetherial.gis.garmin;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.net.*;
import java.sql.*;
import org.apache.batik.swing.*;
import org.apache.batik.swing.gvt.*;
import org.apache.batik.swing.svg.*;
import net.aetherial.gis.excel.*;
import net.aetherial.gis.garmin.*;
import net.aetherial.gis.drawLine.*;
import net.aetherial.gis.database.Connect;
import net.aetherial.gis.surface.ItemValue;
import javax.comm.*;
public class ConsoleFrame extends JFrame implements ActionListener
{
public static Image icon;
public static int waypointType = 103;
public static boolean noInitialize = true;
private JMenuItem dlWaypts;
private JMenuItem dlTracks;
private JMenuItem dlTracksToExcel;
private JMenuItem dlWaypointToTracks;
private JMenuItem dlDrawLine;
private JMenuItem dlTracksToDatabase;
private JMenuItem dlTracksFromDatabase;
private JMenuItem dlPrintDoc;
JMenuItem ssave;
private JSVGComponent svgCanvas;
private String svgURI = Messages.getString("Console.DEFAULT_BG"); //$NON-NLS-1$
public ConsoleFrame ()
{
try
{
icon = Toolkit.getDefaultToolkit().createImage (new URL (Messages.getString("Console.DEFAULT_ICON"))); //$NON-NLS-1$
}
catch (MalformedURLException e)
{
System.out.println (e);
}
setTitle (Messages.getString("Console.GPS_UNINITIALIZED")); //$NON-NLS-1$
setSize (548, 320);
setIconImage (icon);
addWindowListener ( new WindowAdapter ()
{
public void windowClosing (WindowEvent e)
{
//File f = new File (GarminConfiguration.getTmpFile ());
//if (f.exists () && !(svgURI.startsWith (Messages.getString("Console.JAR")))) //$NON-NLS-1$
// f.delete ();
System.exit (0);
}
} );
JMenuBar menu = new JMenuBar ();
setJMenuBar (menu);
svgCanvas = new JSVGCanvas ();
//svgCanvas.loadSVGDocument (svgURI);
svgCanvas.setSize (540, 270);
// svgCanvas.setEnableImageZoomInteractor (true);
svgCanvas.addGVTTreeRendererListener (new GVTTreeRendererListener()
{
public void gvtRenderingCompleted(GVTTreeRendererEvent e)
{
GarminConfiguration.setSVGDoc (svgCanvas.getSVGDocument ());
}
public void gvtRenderingPrepare (GVTTreeRendererEvent e)
{
}
public void gvtRenderingCancelled(GVTTreeRendererEvent e)
{
}
public void gvtRenderingFailed(GVTTreeRendererEvent e)
{
}
public void gvtRenderingStarted(GVTTreeRendererEvent e)
{
}
});
getContentPane ().add (svgCanvas);
JMenu fileMenu = new JMenu (Messages.getString("Console.MENU_FILE")); //$NON-NLS-1$
JMenuItem nnew = new JMenuItem (Messages.getString("Console.MENU_NEW")); //$NON-NLS-1$
nnew.addActionListener (this);
JMenuItem save = new JMenuItem (Messages.getString("Console.MENU_SAVE_AS")); //$NON-NLS-1$
save.addActionListener (this);
ssave = new JMenuItem (Messages.getString("Console.MENU_SAVE_MAP_AS")); //$NON-NLS-1$
ssave.setEnabled (false);
ssave.addActionListener (this);
JMenuItem exit = new JMenuItem (Messages.getString("Console.MENU_EXIT")); //$NON-NLS-1$
exit.addActionListener (this);
// fileMenu.add (nnew);
fileMenu.add (save);
fileMenu.add (ssave);
fileMenu.addSeparator ();
fileMenu.add (exit);
JMenu gpsMenu = new JMenu (Messages.getString("Console.MENU_GPS")); //$NON-NLS-1$
dlTracks = new JMenuItem (Messages.getString("Console.MENU_DOWNLOAD_TRACKS")); //$NON-NLS-1$
dlTracks.addActionListener (this);
dlTracks.setEnabled (false);
dlTracksToExcel = new JMenuItem (Messages.getString("Console.MENU_TRACKS_TO_EXCEL")); //$NON-NLS-1$
dlTracksToExcel.addActionListener (this);
dlTracksToExcel.setEnabled (false);
dlWaypointToTracks = new JMenuItem (Messages.getString("Console.MENU_WAYPOINT_INTO_TRACKS")); //$NON-NLS-1$
dlWaypointToTracks.addActionListener (this);
dlWaypointToTracks.setEnabled (false);
dlDrawLine = new JMenuItem (Messages.getString("Console.MENU_DRAWLINE")); //$NON-NLS-1$
dlDrawLine.addActionListener (this);
dlDrawLine.setEnabled (true);
dlTracksToDatabase = new JMenuItem (Messages.getString("Console.MENU_TRACKS_TO_DATABASE")); //$NON-NLS-1$
dlTracksToDatabase.addActionListener (this);
dlTracksToDatabase.setEnabled (false);
dlTracksFromDatabase = new JMenuItem (Messages.getString("Console.MENU_TRACKS_FROM_DATABASE")); //$NON-NLS-1$
dlTracksFromDatabase.addActionListener (this);
dlTracksFromDatabase.setEnabled (true);
dlPrintDoc = new JMenuItem (Messages.getString("Console.MENU_PRINTDOC")); //$NON-NLS-1$
dlPrintDoc.addActionListener (this);
dlPrintDoc.setEnabled (true);
dlWaypts = new JMenuItem (Messages.getString("Console.MENU_DOWNLOAD_WAYPOINTS")); //$NON-NLS-1$
dlWaypts.addActionListener (this);
dlWaypts.setEnabled (false);
JMenuItem initGPS = new JMenuItem (Messages.getString("Console.MENU_INITIALIZE_GPS")); //$NON-NLS-1$
initGPS.addActionListener (this);
JMenuItem gpsInfo = new JMenuItem (Messages.getString("Console.MENU_GPS_INFO")); //$NON-NLS-1$
gpsInfo.addActionListener (this);
gpsMenu.add (dlTracks);
gpsMenu.add (dlWaypts);
gpsMenu.add (initGPS);
gpsMenu.addSeparator ();
gpsMenu.add(dlPrintDoc);
gpsMenu.add(dlTracksToExcel);
gpsMenu.add (dlWaypointToTracks);
gpsMenu.add(dlTracksToDatabase);
gpsMenu.add(dlTracksFromDatabase);
gpsMenu.add(dlDrawLine);
gpsMenu.addSeparator ();
gpsMenu.add (gpsInfo);
JMenu toolsMenu = new JMenu (Messages.getString("Console.MENU_TOOL")); //$NON-NLS-1$
JMenuItem options = new JMenuItem (Messages.getString("Console.MENU_OPTIONS")); //$NON-NLS-1$
options.addActionListener (this);
JMenuItem reset = new JMenuItem (Messages.getString("Console.MENU_RESET_VIEW")); //$NON-NLS-1$
reset.addActionListener (this);
JMenuItem update = new JMenuItem (Messages.getString("Console.MENU_UPDATE_VIEW")); //$NON-NLS-1$
update.addActionListener (this);
toolsMenu.add (update);
toolsMenu.add (reset);
toolsMenu.addSeparator ();
toolsMenu.add (options);
JMenu helpMenu = new JMenu (Messages.getString("Console.MENU_HELP")); //$NON-NLS-1$
JMenuItem about = new JMenuItem (Messages.getString("Console.MENU_ABOUT")); //$NON-NLS-1$
about.addActionListener (this);
helpMenu.add (about);
menu.add (fileMenu);
menu.add (gpsMenu);
menu.add (toolsMenu);
menu.add (helpMenu);
}
public static void resetAll(){
noInitialize = true;
}
private boolean initialize(){
if(this.noInitialize){
System.out.println("noInitialize:"+noInitialize);
System.out.println("initlize..");
GarminConfiguration.initReceiver();
dlTracks.setEnabled(true);
dlTracksToExcel.setEnabled(true);
dlWaypointToTracks.setEnabled(true);
dlWaypts.setEnabled(true);
dlTracksToDatabase.setEnabled(true);
dlTracksFromDatabase.setEnabled(true);
dlDrawLine.setEnabled(true);
dlPrintDoc.setEnabled(true);
setTitle(GarminConfiguration.getDesc());
}
this.noInitialize =false;
return true;
}
public void testComm(){
this.noInitialize = true;
GarminConfiguration.initReceiver();
}
public void downloadTracks(){
if(this.initialize())
//this.initialize();
TrackLogCommand.getTrackLogGML();
//fp.hide();
}
public void downloadWaypoint(){
//this.initialize();
if(this.initialize())
WaypointCommand.getWaypoints();
ItemValue.setOldWaypointNum();
ItemValue.setOldTracksNum();
}
public void actionPerformed (ActionEvent evt)
{
String arg = evt.getActionCommand ();
if (arg.equals (Messages.getString("Console.MENU_EXIT"))) //$NON-NLS-1$
{
try {
File f = new File (GarminConfiguration.getTmpFile ());
if (f.exists () && !(svgURI.startsWith (Messages.getString("Console.21")))) //$NON-NLS-1$
f.delete ();
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.exit (0);
}
else if (arg.equals (Messages.getString("Console.MENU_TRACKS_TO_EXCEL"))) //$NON-NLS-1$
{
String filename = "C:\\gis.xls";
JFileChooser fileDialog = new JFileChooser();
ExcelFilter filter = new ExcelFilter();
fileDialog.setFileFilter(filter);
fileDialog.setCurrentDirectory(new File(Messages.getString("Console.25"))); //$NON-NLS-1$
int result = fileDialog.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File f = fileDialog.getSelectedFile();
filename = f.getAbsolutePath();
if (f.exists()){
}
//JOptionPane.showMessageDialog(this, new String(filename),
// new String(
// Messages.getString("Console.INFO_ALREADY_EXISTS")),
// JOptionPane.INFORMATION_MESSAGE); //$NON-NLS-1$
else {
String extend =f.getName();
if(extend.indexOf(".")==-1){
filename =filename+".xls";
}
///////////////////////////定义数组//////////////////////////////
String[] number = new String[myTest.lat.size()],
name = new String[myTest.lat.size()],
lat = new String[myTest.lat.size()],
lon = new String[myTest.lat.size()];
for (int i = 0; i < number.length; i++) {
number[i] = "" + (i + 1);
name[i] = myTest.name.get(i)+"";
lat[i] = myTest.lat.get(i) + "";
lon[i] = myTest.lon.get(i) + "";
}
//////////////////////////////////////////////////////////////////
try{
CopyEditExcel t = new CopyEditExcel(filename);
t.fileCreate("", number, name, lat, lon, "", "", "", "", "", "", "",
"", "", "", "");
}catch(Exception e){
}
/////////////////////////////////////////////////////////////////
//JOptionPane.showMessageDialog(this,
// new String(Messages.getString("Console.INFO_SAVED_SUCCESSFUL")),
//// new
// String(Messages.getString("Console.INFO_SAVED_TO") +
// filename +
// Messages.getString("Console.31")),
// JOptionPane.INFORMATION_MESSAGE); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
}
else if (arg.equals (Messages.getString("Console.MENU_WAYPOINT_INTO_TRACKS"))) //$NON-NLS-1$
{
new WaypointIntoTracks();
}
else if (arg.equals (Messages.getString("Console.MENU_TRACKS_TO_DATABASE"))) //$NON-NLS-1$
{
Connect c = new Connect();
c.insertToTable(myTest.name,myTest.lat,myTest.lon);
c.setClose();
}
else if (arg.equals (Messages.getString("Console.MENU_TRACKS_FROM_DATABASE"))) //$NON-NLS-1$
{
Connect c = new Connect();
ResultSet rs =c.queryTable();
try{
while (rs.next()) {
myTest.name.addElement(rs.getString("name"));
myTest.lat.addElement(rs.getString("lat"));
myTest.lon.addElement(rs.getString("lon"));
}
}catch(Exception e){
e.printStackTrace();
}
c.setClose();
}
else if (arg.equals (Messages.getString("Console.MENU_DRAWLINE"))) //$NON-NLS-1$
{
Frame1 f = new Frame1();
f.setSize(800, 600);
f.setTitle("Draw Tracks Curve");
f.show();
}
else if (arg.equals (Messages.getString("Console.MENU_PRINTDOC"))) //$NON-NLS-1$
{
String str =GarminGMLDoc.printDoc();
System.out.println(str);
}
else if (arg.equals (Messages.getString("Console.MENU_OPEN"))) //$NON-NLS-1$
{
JFileChooser fileDialog = new JFileChooser ();
fileDialog.setCurrentDirectory (new File (Messages.getString("Console.23"))); //$NON-NLS-1$
int result = fileDialog.showOpenDialog (this);
if (result == JFileChooser.APPROVE_OPTION)
{
String filename = fileDialog.getSelectedFile ().getName ();
//JOptionPane.showMessageDialog (this, new String (filename), new String (filename), JOptionPane.INFORMATION_MESSAGE);
}
}
else if (arg.equals (Messages.getString("Console.MENU_SAVE_AS"))) //$NON-NLS-1$
{
JFileChooser fileDialog = new JFileChooser ();
fileDialog.setCurrentDirectory (new File (Messages.getString("Console.25"))); //$NON-NLS-1$
int result = fileDialog.showSaveDialog (this);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -