2

デフォルトで左ペインにあるレイヤーを選択する代わりに、ワールドウィンドNASAで作業しようとしています。ドロップダウンを提供して、そこから特定の国/州を選択し、国/に対応するものを表示できるようにします地球上の状態。

では、どうすればウィジェットを追加して、同じものを地球に反映させることができますか?

4

1 に答える 1

1

ステップ 1: worldwind の要件に従ってjdk 1.6、以上のものが必要です。お使いのオペレーティング システムに応じて、プロジェクトライブラリフォルダーなどにファイルをインストールします。jar

worldwinx.jar
worldwind.jar
gdal.jar
glue-genrt.jar
gluegen-rt-natives-windows-i586.jar
jogl-all.jar
jogl-all-natives-windows-i586.jar
plugin.jar
vpf-symbols.jar

ステップ 2:gov.nasa.worldwindx.examples.ApplicationTemplateクラスを拡張する

package yourPackageName;

import gov.nasa.worldwind.WorldWind;
import gov.nasa.worldwind.avlist.AVKey;
import gov.nasa.worldwind.geom.Position;
import gov.nasa.worldwind.layers.RenderableLayer;
import gov.nasa.worldwind.render.*;
import gov.nasa.worldwind.util.BasicDragger;
import gov.nasa.worldwindx.examples.ApplicationTemplate;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class YourclassName extends ApplicationTemplate
{
    public static class AppFrame extends ApplicationTemplate.AppFrame
    {
        private static JComboBox comboBox;
        private static JTextField textField;

        public AppFrame()
        {
            JPanel MainPanel = new JPanel();// new LayerPanel(this.wwjPanel.getWwd(), new Dimension(50, 50));

            GridLayout experimentLayout = new GridLayout(0,2);

            // Combobox
            JLabel labelCombo = new JLabel("Select Country");

            // Options in the combobox
            String[] options = { "India", "China", "USA", "Japan", "Russia" };
                comboBox = new JComboBox(options);
                comboBox.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                   // Do something when you select a value
                }
            });

            // Textfield
        JLabel labelTextField = new JLabel("Enter city");
         // Add controls

        textField = new JTextField();
        JPanel fieldPanel = new JPanel(experimentLayout);


        fieldPanel.add(labelCombo);
        fieldPanel.add(comboBox);
        fieldPanel.add(labelTextField);
        fieldPanel.add(textField);
        fieldPanel.add(new JButton("Go To city"));
        MainPanel.add(fieldPanel, BorderLayout.NORTH);

        this.getContentPane().add(MainPanel, BorderLayout.EAST);
    }
}
public static void main(String[] args)
{
    ApplicationTemplate.start("World Wind Example", AppFrame.class);
}
}

球体に反映するには、 を作成してviewcontrollerを追加しanimatorます。このコードは、Nasa World WindSDK Examplesで入手できます。

出力: 世界の風ウィジェット

于 2014-06-16T12:05:20.130 に答える