首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加小部件(Textfield、Combobox等)在世界风国家航空航天局

如何添加小部件(Textfield、Combobox等)在世界风国家航空航天局
EN

Stack Overflow用户
提问于 2014-05-13 09:23:25
回答 1查看 723关注 0票数 2

我尝试使用世界风NASA,而不是在默认情况下选择左侧窗格中的图层,而是提供下拉列表,以便从其中选择特定的国家/state,然后显示与全球上的国家/州相对应的内容。

那么,我如何添加小部件并在地球仪上反映相同的信息呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-16 12:05:20

步骤1:您需要的是jdk 1.6或更多,按照的worldwind requirements。安装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

代码语言:javascript
复制
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。该代码可在美国宇航局World Wind SDK 示例中获得。

输出:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23627370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档