Select to view content in your preferred language

Problems adding jMap to jPanel

3118
1
09-21-2015 06:20 AM
DavidJones17
New Contributor

Welcome everyone.

I have some problems adding jMap to jPanel. Im pretty new at ArcGis Runtime and Java Programming language. I want to add simple map to the jPanel shown below(green colour). I used NetBeans to make gui and some code is generated automatically.

notittle.png

This is my code:

<code>

import com.esri.map.JMap;

import com.esri.map.MapOptions;

import gui.SimpleMap;

import java.awt.BorderLayout;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.*;

/**

*

* @author Wojtek

*/

public class Main extends JFrame {

     /**

      * Creates new form Main

      */

     public Main() throws Exception {

          initComponents();

          addMap();

     }

     @SuppressWarnings("unchecked")

     // <editor-fold defaultstate="collapsed" desc="Generated Code">                         

     private void initComponents() {

          jSplitPane1 = new javax.swing.JSplitPane();

          jPanel5 = new javax.swing.JPanel();

          jLabel6 = new javax.swing.JLabel();

          jTextField4 = new javax.swing.JTextField();

          jLabel7 = new javax.swing.JLabel();

          jTextField5 = new javax.swing.JTextField();

          jLabel8 = new javax.swing.JLabel();

          jTextField6 = new javax.swing.JTextField();

          jLabel9 = new javax.swing.JLabel();

          jLabel10 = new javax.swing.JLabel();

          jPanel4 = new javax.swing.JPanel();

          jTabbedPane1 = new javax.swing.JTabbedPane();

          jPanel1 = new javax.swing.JPanel();

          jPanel3 = new javax.swing.JPanel();

          jLabel1 = new javax.swing.JLabel();

          jTextField1 = new javax.swing.JTextField();

          jLabel2 = new javax.swing.JLabel();

          jTextField2 = new javax.swing.JTextField();

          jLabel3 = new javax.swing.JLabel();

          jTextField3 = new javax.swing.JTextField();

          jLabel4 = new javax.swing.JLabel();

          jLabel5 = new javax.swing.JLabel();

          jLabel11 = new javax.swing.JLabel();

          jTextField7 = new javax.swing.JTextField();

          jLabel12 = new javax.swing.JLabel();

          jTextField8 = new javax.swing.JTextField();

          jLabel13 = new javax.swing.JLabel();

          jTextField9 = new javax.swing.JTextField();

          jLabel14 = new javax.swing.JLabel();

          jButton1 = new javax.swing.JButton();

          jPanel2 = new javax.swing.JPanel();

          jLabel6.setText("Współrzędne WGS-84");

          jTextField4.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField4ActionPerformed(evt);

               }

          });

          jLabel7.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

          jLabel7.setText(" φ");

          jTextField5.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField5ActionPerformed(evt);

               }

          });

          jLabel8.setText("°");

          jTextField6.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField6ActionPerformed(evt);

               }

          });

          jLabel9.setText("'");

          jLabel10.setText("\"");

          javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);

          jPanel5.setLayout(jPanel5Layout);

          jPanel5Layout.setHorizontalGroup(

               jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGroup(jPanel5Layout.createSequentialGroup()

                    .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                         .addGroup(jPanel5Layout.createSequentialGroup()

                              .addContainerGap()

                              .addComponent(jLabel7)

                              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                              .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                              .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                              .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                              .addComponent(jLabel9)

                              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                              .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                              .addComponent(jLabel10))

                         .addGroup(jPanel5Layout.createSequentialGroup()

                              .addGap(75, 75, 75)

                              .addComponent(jLabel6)))

                    .addContainerGap(85, Short.MAX_VALUE))

          );

          jPanel5Layout.setVerticalGroup(

               jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGroup(jPanel5Layout.createSequentialGroup()

                    .addGap(23, 23, 23)

                    .addComponent(jLabel6)

                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                    .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

                         .addGroup(jPanel5Layout.createSequentialGroup()

                              .addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                              .addGap(3, 3, 3))

                         .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                              .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jLabel9)

                              .addComponent(jLabel10)))

                    .addContainerGap(436, Short.MAX_VALUE))

          );

          javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);

          jPanel4.setLayout(jPanel4Layout);

          jPanel4Layout.setHorizontalGroup(

               jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGap(0, 796, Short.MAX_VALUE)

          );

          jPanel4Layout.setVerticalGroup(

               jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGap(0, 0, Short.MAX_VALUE)

          );

          setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

          jPanel1.addComponentListener(new java.awt.event.ComponentAdapter() {

               public void componentShown(java.awt.event.ComponentEvent evt) {

                    jPanel1ComponentShown(evt);

               }

          });

          jLabel1.setText("WGS-84 Coords");

          jTextField1.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField1ActionPerformed(evt);

               }

          });

          jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

          jLabel2.setText(" φ");

          jTextField2.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField2ActionPerformed(evt);

               }

          });

          jLabel3.setText("°");

          jTextField3.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField3ActionPerformed(evt);

               }

          });

          jLabel4.setText("'");

          jLabel5.setText("\"");

          jLabel11.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

          jLabel11.setText("λ");

          jTextField7.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField7ActionPerformed(evt);

               }

          });

          jLabel12.setText("°");

          jTextField8.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField8ActionPerformed(evt);

               }

          });

          jLabel13.setText("'");

          jTextField9.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jTextField9ActionPerformed(evt);

               }

          });

          jLabel14.setText("\"");

          jButton1.setText("jButton1");

          jButton1.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(java.awt.event.ActionEvent evt) {

                    jButton1ActionPerformed(evt);

               }

          });

          javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

          jPanel3.setLayout(jPanel3Layout);

          jPanel3Layout.setHorizontalGroup(

               jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGroup(jPanel3Layout.createSequentialGroup()

                    .addContainerGap()

                    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                         .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

                              .addGroup(jPanel3Layout.createSequentialGroup()

                                   .addComponent(jLabel11)

                                   .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                   .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)

                                   .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                   .addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)

                                   .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                   .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)

                                   .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                   .addComponent(jLabel13)

                                   .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                   .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)

                                   .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                   .addComponent(jLabel14))

                              .addGroup(jPanel3Layout.createSequentialGroup()

                                   .addComponent(jLabel2)

                                   .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                   .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                                        .addComponent(jLabel1)

                                        .addGroup(jPanel3Layout.createSequentialGroup()

                                             .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)

                                             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                             .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)

                                             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                             .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)

                                             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                             .addComponent(jLabel4)

                                             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                             .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)

                                             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                             .addComponent(jLabel5)))))

                         .addGroup(jPanel3Layout.createSequentialGroup()

                              .addGap(86, 86, 86)

                              .addComponent(jButton1)))

                    .addContainerGap(14, Short.MAX_VALUE))

          );

          jPanel3Layout.setVerticalGroup(

               jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGroup(jPanel3Layout.createSequentialGroup()

                    .addGap(23, 23, 23)

                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)

                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

                         .addGroup(jPanel3Layout.createSequentialGroup()

                              .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                              .addGap(3, 3, 3))

                         .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                              .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jLabel4)

                              .addComponent(jLabel5)))

                    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

                         .addGroup(jPanel3Layout.createSequentialGroup()

                              .addComponent(jLabel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                              .addGap(3, 3, 3))

                         .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                              .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                              .addComponent(jLabel13)

                              .addComponent(jLabel14)))

                    .addGap(35, 35, 35)

                    .addComponent(jButton1)

                    .addContainerGap(329, Short.MAX_VALUE))

          );

          javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

          jPanel1.setLayout(jPanel1Layout);

          jPanel1Layout.setHorizontalGroup(

               jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

                    .addGap(0, 860, Short.MAX_VALUE)

                    .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

          );

          jPanel1Layout.setVerticalGroup(

               jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

          );

          jTabbedPane1.addTab("tab1", jPanel1);

          javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

          jPanel2.setLayout(jPanel2Layout);

          jPanel2Layout.setHorizontalGroup(

               jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGap(0, 1045, Short.MAX_VALUE)

          );

          jPanel2Layout.setVerticalGroup(

               jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addGap(0, 528, Short.MAX_VALUE)

          );

          jTabbedPane1.addTab("tab2", jPanel2);

          javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

          getContentPane().setLayout(layout);

          layout.setHorizontalGroup(

               layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addComponent(jTabbedPane1)

          );

          layout.setVerticalGroup(

               layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

               .addComponent(jTabbedPane1)

          );

          pack();

     }// </editor-fold>                       

     private void addMap() throws Exception {

       

          jPanel1.add(createUI());

     }

    

    

     private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jTextField4ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jTextField5ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jTextField6ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jTextField7ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jTextField8ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jTextField9ActionPerformed(java.awt.event.ActionEvent evt) {                                           

          // TODO add your handling code here:

     }                                          

     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        

          // TODO add your handling code here:

     }                                       

     private void jPanel1ComponentShown(java.awt.event.ComponentEvent evt) {                                      

        

     }                                     

    

     public JComponent createUI() throws Exception {

          JPanel contentPane = new JPanel(new BorderLayout());

          MapOptions mapOptions = new MapOptions(MapOptions.MapType.TOPO, 41.9000, 12.5000, 12);

          map = new JMap(mapOptions);

          contentPane.add(map);

       

          return contentPane;

     }

     /**

      * @param args the command line arguments

      */

     public static void main(String args[]) {

          java.awt.EventQueue.invokeLater(new Runnable() {

               public void run() {

                    try {

                        

                         new Main().setVisible(true);

                    } catch (Exception ex) {

                         Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

                    }

               }

          });

     }

     // Variables declaration - do not modify                    

     private javax.swing.JButton jButton1;

     private javax.swing.JLabel jLabel1;

     private javax.swing.JLabel jLabel10;

     private javax.swing.JLabel jLabel11;

     private javax.swing.JLabel jLabel12;

     private javax.swing.JLabel jLabel13;

     private javax.swing.JLabel jLabel14;

     private javax.swing.JLabel jLabel2;

     private javax.swing.JLabel jLabel3;

     private javax.swing.JLabel jLabel4;

     private javax.swing.JLabel jLabel5;

     private javax.swing.JLabel jLabel6;

     private javax.swing.JLabel jLabel7;

     private javax.swing.JLabel jLabel8;

     private javax.swing.JLabel jLabel9;

     private javax.swing.JPanel jPanel1;

     private javax.swing.JPanel jPanel2;

     private javax.swing.JPanel jPanel3;

     private javax.swing.JPanel jPanel4;

     private javax.swing.JPanel jPanel5;

     private javax.swing.JSplitPane jSplitPane1;

     private javax.swing.JTabbedPane jTabbedPane1;

     private javax.swing.JTextField jTextField1;

     private javax.swing.JTextField jTextField2;

     private javax.swing.JTextField jTextField3;

     private javax.swing.JTextField jTextField4;

     private javax.swing.JTextField jTextField5;

     private javax.swing.JTextField jTextField6;

     private javax.swing.JTextField jTextField7;

     private javax.swing.JTextField jTextField8;

     private javax.swing.JTextField jTextField9;

     // End of variables declaration                  

    

     private JMap map;

}

</code>

0 Kudos
1 Reply
EricBader
Honored Contributor

So, you are doing this:

JPanel contentPane = new JPanel(new BorderLayout());

Try:

- creating the BorderLayout explicitly.

- add the JMap to the center of the BorderLayout.

- Add the BorderLayout to the JPanel. for example: contentPane.setLayout (theBorderLayoutWithJMap)

0 Kudos