trackpanel.java
来自「world wind java sdk 源码」· Java 代码 · 共 427 行 · 第 1/2 页
JAVA
427 行
// value = (int) SAR2.metersToFeet(value);// }// else // Default to metric units.// {// this.offsetSlider.setMaximum(5000);// this.offsetSlider.setMinimum(-5000);// this.offsetSlider.setMajorTickSpacing(1000);// Hashtable ht = this.offsetSlider.createStandardLabels(1000);// this.offsetSlider.setLabelTable(ht);// if (SAR2.UNIT_IMPERIAL.equals(oldUnit))// value = (int) SAR2.feetToMeters(value);// }// if (value > this.offsetSlider.getMaximum())// value = this.offsetSlider.getMaximum();// if (value < this.offsetSlider.getMinimum())// value = this.offsetSlider.getMinimum();// this.offsetSlider.setValue(value);//// //---- offsetReadout ----// this.offsetReadout.setText(Integer.toString(value));// } private void initComponents() { this.panel1 = new JPanel(); this.topPanel = new JPanel(); this.visibilityFlag = new JCheckBox(); this.scrollPane = new JScrollPane(); this.positionTable = new PositionTable(); this.offsetPanel = new JPanel(); this.offsetSlider = new JSlider(); this.panel2 = new JPanel(); this.offsetToggleCheckBox = new JCheckBox(); this.offsetReadout = new JTextField(); this.offsetRangeSpinner = new JSpinner(); //======== this ======== setToolTipText("Track Positions"); setBackground(Color.white); setLayout(new BorderLayout()); //======== panel1 ======== { this.panel1.setLayout(new BorderLayout()); //======== topPanel ======== { this.topPanel.setBorder(new EmptyBorder(0, 5, 0, 5)); this.topPanel.setLayout(new BorderLayout(5, 5)); //---- visibilityFlag ---- this.visibilityFlag.setText("Show Track"); this.visibilityFlag.setSelected(true); this.visibilityFlag.setToolTipText("Display track on the globe"); this.visibilityFlag.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { visibilityActionPerformed(e); } }); this.topPanel.add(this.visibilityFlag, BorderLayout.WEST); } this.panel1.add(this.topPanel, BorderLayout.NORTH); //======== scrollPane ======== { this.scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); //---- positionTable ---- this.positionTable.setPreferredScrollableViewportSize(new Dimension(340, 300)); this.scrollPane.setViewportView(this.positionTable); } this.panel1.add(this.scrollPane, BorderLayout.CENTER); } add(this.panel1, BorderLayout.CENTER); //======== offsetPanel ======== { this.offsetPanel.setLayout(new BorderLayout(0, 2)); //---- offsetSlider ---- this.offsetSlider.setOrientation(SwingConstants.VERTICAL); this.offsetSlider.setPaintLabels(true); this.offsetSlider.setValue(0); this.offsetSlider.setToolTipText("Elevation offset"); this.offsetSlider.setMaximum(500); this.offsetSlider.setMinimum(-500); Hashtable ht = this.offsetSlider.createStandardLabels(100); this.offsetSlider.setLabelTable(ht); this.offsetSlider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { offsetSliderStateChanged(e); } }); this.offsetPanel.add(this.offsetSlider, BorderLayout.CENTER); //======== panel2 ======== { this.panel2.setBorder(new EmptyBorder(0, 2, 2, 2)); this.panel2.setLayout(new BorderLayout()); //---- offsetToggleCheckBox ---- this.offsetToggleCheckBox.setText("Offset"); this.offsetToggleCheckBox.setHorizontalAlignment(SwingConstants.CENTER); this.offsetToggleCheckBox.setSelected(true); this.offsetToggleCheckBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { offsetToggleCheckBoxItemStateChanged(e); } }); this.panel2.add(this.offsetToggleCheckBox, BorderLayout.NORTH); //---- offsetRangeSpinner ---- this.offsetRangeSpinner.setModel(new SpinnerListModel( new String[] {"+/- 100", "+/- 200", "+/- 500", "+/- 1000", "+/- 2000", "+/- 5000"})); this.offsetRangeSpinner.setValue("+/- 500"); this.offsetRangeSpinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { offsetRangeSpinnerStateChanged(e); } }); this.panel2.add(this.offsetRangeSpinner, BorderLayout.CENTER); //---- offsetReadout ---- this.offsetReadout.setText("0"); this.offsetReadout.setHorizontalAlignment(SwingConstants.RIGHT); this.offsetReadout.setBorder(new CompoundBorder( new EtchedBorder(), new EmptyBorder(0, 0, 0, 4))); this.offsetReadout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { offsetReadoutActionPerformed(e); } }); this.panel2.add(this.offsetReadout, BorderLayout.SOUTH); } this.offsetPanel.add(this.panel2, BorderLayout.NORTH); } add(this.offsetPanel, BorderLayout.EAST); // Track extension panel JPanel trackExtensionPanel = new JPanel(new BorderLayout(0, 0)); // hgap, vgap { this.enableTrackExtensionCheckBox = new JCheckBox("Extend Track"); this.enableTrackExtensionCheckBox.setToolTipText("Enables the track extension tool"); this.enableTrackExtensionCheckBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { enableTrackExtensionStateChanged(e); } }); this.nextTrackPointButton = new JButton("Next Position"); this.nextTrackPointButton.setToolTipText("Move to the next track position"); this.nextTrackPointButton.setEnabled(false); this.nextTrackPointButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { nextTrackPositionActionPerformed(e); } }); this.removeTrackPointButton = new JButton("Delete Position"); this.removeTrackPointButton.setToolTipText("Delete the most recent track position"); this.removeTrackPointButton.setEnabled(false); this.removeTrackPointButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { removeTrackPositionActionPerformed(e); } }); Box box = Box.createHorizontalBox(); box.add(this.enableTrackExtensionCheckBox); box.add(Box.createHorizontalStrut(10)); box.add(this.nextTrackPointButton); box.add(Box.createHorizontalStrut(10)); box.add(this.removeTrackPointButton); box.add(Box.createHorizontalGlue()); trackExtensionPanel.add(box, BorderLayout.NORTH); } add(trackExtensionPanel, BorderLayout.SOUTH); } private JPanel panel1; private JPanel topPanel; private JCheckBox visibilityFlag; private JScrollPane scrollPane; private PositionTable positionTable; private JPanel offsetPanel; private JSlider offsetSlider; private JPanel panel2; private JCheckBox offsetToggleCheckBox; private JTextField offsetReadout; private JSpinner offsetRangeSpinner; // Track extension components. private JCheckBox enableTrackExtensionCheckBox; private JButton nextTrackPointButton; private JButton removeTrackPointButton;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?