⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dialogcuttrack.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
字号:
package net.aetherial.gis.our.cut;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import com.borland.jbcl.layout.*;
import net.aetherial.gis.garmin.*;
import net.aetherial.gis.our.*;
import net.aetherial.gis.surface.*;

public class DialogCutTrack
    extends JDialog {
  JPanel panel1 = new JPanel();
  JComboBox jComboBox1 = new JComboBox();
  XYLayout xYLayout1 = new XYLayout();
  JLabel jLabel1 = new JLabel();
  JLabel jLabel2 = new JLabel();
  JComboBox jComboBox2 = new JComboBox();
  JLabel jLabel3 = new JLabel();
  JComboBox jComboBox3 = new JComboBox();
  JButton jButton1 = new JButton();
  private int begin = 0,end = 0,track = 0;
  FrameOur fo = null;
  public DialogCutTrack(Frame owner, String title, boolean modal) {
    super(owner, title, modal);
    try {
      setDefaultCloseOperation(DISPOSE_ON_CLOSE);
      jbInit();
      pack();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  public DialogCutTrack() {
    this(new Frame(), "DialogCutTrack", false);
  }
  public DialogCutTrack(FrameOur fo) {
      this(new Frame(), "DialogCutTrack", false);
      this.fo = fo;
  }
  private void jbInit() throws Exception {
    this.setTitle("选择并切割");
    Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
    this.setSize(new Dimension(390,360));
    this.addWindowFocusListener(new Dialog_this_windowFocusAdapter(this));
    this.setLocation(
          (screenDim.width - 390) / 2,
          (screenDim.height - 360) / 2
          );
    panel1.setLayout(xYLayout1);
    jLabel1.setText("选择起始点");
    jLabel2.setText("选择结束点");
    jLabel3.setText("选择航迹\n(切割后,原航迹不变)");
    jLabel3.setVerticalAlignment(SwingConstants.TOP);
    jButton1.setText("开始切割");
    jButton1.addActionListener(new DialogCutTrack_jButton1_actionAdapter(this));
    jComboBox1.addItemListener(new DialogCutTrack_jComboBox_itemAdapter(this));
    jComboBox2.addItemListener(new DialogCutTrack_jComboBox_itemAdapter(this));
    jComboBox3.addItemListener(new DialogCutTrack_jComboBox_itemAdapter(this));
    jComboBox1.setActionCommand("jComboBox1");
    jComboBox2.setActionCommand("jComboBox2");
    jComboBox3.setActionCommand("jComboBox3");
    getContentPane().add(panel1);
    panel1.add(jLabel1, new XYConstraints(20, 17, 112, 25));
    panel1.add(jLabel2, new XYConstraints(20, 66, 111, 28));
    panel1.add(jComboBox2, new XYConstraints(117, 71, 132, -1));
    panel1.add(jComboBox3, new XYConstraints(117, 130, 150, -1));
    panel1.add(jComboBox1, new XYConstraints(117, 18, 132, -1));
    panel1.add(jButton1, new XYConstraints(95, 191, -1, -1));
    panel1.add(jLabel3, new XYConstraints(20, 132, 86, 47));
    this.initData();
  }
  public void initData(){
    int[] pos = ItemValue.getPosition("waypoint");
    if(pos!=null){
      for (int i = 0;i<pos.length;i++){
        jComboBox1.addItem(ItemValue.getWaypointName(ItemValue.getWaypointByWaypointPos(i)));
        jComboBox2.addItem(ItemValue.getWaypointName(ItemValue.getWaypointByWaypointPos(i)));
      }
    }
    int[] pos1 = ItemValue.getPosition("track");
    if(pos1!=null){
      for (int i = 0;i<pos1.length;i++){
        jComboBox3.addItem(ItemValue.getTracksName(ItemValue.getTracksByPos(i)));
      }
    }
  }
  public void jComboBox_itemStateChanged(ItemEvent e) {
    //System.out.println((JComboBox)e.getSource());
    if((JComboBox)e.getSource()==jComboBox1){
      this.begin =jComboBox1.getSelectedIndex();
      System.out.println("jComboBox1|Select:"+jComboBox1.getSelectedIndex()+"|"+jComboBox1.getSelectedItem());
    }else if((JComboBox)e.getSource()==jComboBox2){
      this.end =jComboBox2.getSelectedIndex();
      System.out.println("jComboBox2|Select:"+jComboBox2.getSelectedIndex()+"|"+jComboBox2.getSelectedItem());
    }else if((JComboBox)e.getSource()==jComboBox3){
      this.track =jComboBox3.getSelectedIndex();
      System.out.println("jComboBox3|Select:"+jComboBox3.getSelectedIndex()+"|"+jComboBox3.getSelectedItem());
    }
  }

  public void jButton1_actionPerformed(ActionEvent e) {

    if (GarminGMLDoc.root == null) {
      System.out.println("GarminGMLDoc.root == null || at line 113 in DialogCutTrack");
      this.hide();
      return;
    }else{
      CutToSection cts = new CutToSection();
      cts.setTrack(ItemValue.getTracksByPos(this.track));
      cts.setStartEnd(ItemValue.getWaypointByWaypointPos(this.begin),ItemValue.getWaypointByWaypointPos(this.end));
      //try {
        cts.insertIntoGarminDoc();
      //}
      //catch (NoElementException ex) {
      //  this.hide();
      //  JOptionPane.showMessageDialog(fo,"没有发现与之相近的点!");
      //}catch(NullPointerException ex){
       // System.out.println("NullPointerException at 122 in DialogCutTrack");
      //}
      System.out.println("CutToSection ok! || at line 121 in DialogCutTrack");
      fo.memoryShow(true,false);
      this.hide();
    }
  }
}

class Dialog_this_windowFocusAdapter
    implements WindowFocusListener {
  private Dialog adaptee;
  Dialog_this_windowFocusAdapter(Dialog adaptee) {
    this.adaptee = adaptee;
  }

  public void windowGainedFocus(WindowEvent e) {
  }

  public void windowLostFocus(WindowEvent e) {
    adaptee.toFront();
  }
}

class DialogCutTrack_jButton1_actionAdapter
    implements ActionListener {
  private DialogCutTrack adaptee;
  DialogCutTrack_jButton1_actionAdapter(DialogCutTrack adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

class DialogCutTrack_jComboBox_itemAdapter
    implements ItemListener {
  private DialogCutTrack adaptee;
  DialogCutTrack_jComboBox_itemAdapter(DialogCutTrack adaptee) {
    this.adaptee = adaptee;
  }

  public void itemStateChanged(ItemEvent e) {
    adaptee.jComboBox_itemStateChanged(e);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -