Dúvida sobre projeto de P.E.O.O com java

existe apenas uma classe no pacote, chamada Principal2 que está herdando de javax.swing.JFrame, Dentro dessa classe existe um método mostrarMunicípio() que recebe o nome do município como parâmetro. no construtor “public Principal2()” tem duas ações dentro dele: um é o initComponents(); e o outro é o mostrarMunicipio(“Natal”);

O que eu to querendo fazer é colocar dentro do código da ação de um botão na interface, chamar o método mostrarMunicipio() e assim ser exibido outro município ao clicar no botão

package br.interfaces;

import com.teamdev.jxmaps.GeocoderCallback;
import com.teamdev.jxmaps.GeocoderRequest;
import com.teamdev.jxmaps.GeocoderResult;
import com.teamdev.jxmaps.GeocoderStatus;
import com.teamdev.jxmaps.Map;
import com.teamdev.jxmaps.MapReadyHandler;
import com.teamdev.jxmaps.MapStatus;
import com.teamdev.jxmaps.Marker;
import com.teamdev.jxmaps.swing.MapView;
import java.awt.BorderLayout;

public class Principal2 extends javax.swing.JFrame {

    private MapView mapView;
    private Map map;

    public void mostrarMunicipio(String nome) {
        
        
        mapView = new MapView();
        mapView.setOnMapReadyHandler(new MapReadyHandler() {
            @Override
            public void onMapReady(MapStatus status) {

                Map map = mapView.getMap();
                map.setZoom(12.0);
                GeocoderRequest request = new GeocoderRequest(map);
                request.setAddress(nome+", BR");

                mapView.getServices().getGeocoder().geocode(request, new GeocoderCallback(map) {
                    @Override
                    public void onComplete(GeocoderResult[] result, GeocoderStatus status) {

                        map.setCenter(result[0].getGeometry().getLocation());
                        Marker marker = new Marker(map);
                        marker.setPosition(result[0].getGeometry().getLocation());

                    }
                });

            }
        });
        visor.add(mapView, BorderLayout.CENTER);
    }

    public Principal2() {
        initComponents();
        mostrarMunicipio("Natal");
        
        
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        painel = new javax.swing.JPanel();
        opcao = new javax.swing.JComboBox<>();
        jButton1 = new javax.swing.JButton();
        painel2 = new javax.swing.JPanel();
        visor = new javax.swing.JPanel();
        painelRolagem = new javax.swing.JScrollPane();
        painecomGuias = new javax.swing.JTabbedPane();
        infoGerais = new javax.swing.JPanel();
        galeria = new javax.swing.JPanel();
        dados = new javax.swing.JPanel();
        barramenu = new javax.swing.JMenuBar();
        meunSobre = new javax.swing.JMenu();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Trabalho PEOO - Geografia");
        setAlwaysOnTop(true);
        setBackground(new java.awt.Color(51, 51, 51));

        painel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        painel.setPreferredSize(new java.awt.Dimension(300, 500));
        painel.setLayout(new java.awt.BorderLayout());

        opcao.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Selecione um município", "Caicó ", "Cruzeta", "Equador", "Ipueira", "Jardim de Piranhas", "Jardim do Seridó ", "Jucurutu", "Ouro branco", "Parelhas", "Santana do Seridó ", "São Fernando", "São João do Sabugi", "Serra Negra do Norte", "São José do Seridó ", "Timbaúba dos Batistas", " " }));
        painel.add(opcao, java.awt.BorderLayout.PAGE_START);

        jButton1.setText("jButton1");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mostraMapa(evt);
            }
        });
        painel.add(jButton1, java.awt.BorderLayout.CENTER);

        getContentPane().add(painel, java.awt.BorderLayout.LINE_START);

        visor.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 5));
        visor.setAlignmentX(10.0F);
        visor.setAlignmentY(10.0F);
        visor.setLayout(new java.awt.BorderLayout());

        painelRolagem.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

        painecomGuias.setForeground(new java.awt.Color(0, 0, 0));
        painecomGuias.setAlignmentX(10.0F);
        painecomGuias.setAlignmentY(10.0F);

        javax.swing.GroupLayout infoGeraisLayout = new javax.swing.GroupLayout(infoGerais);
        infoGerais.setLayout(infoGeraisLayout);
        infoGeraisLayout.setHorizontalGroup(
            infoGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 589, Short.MAX_VALUE)
        );
        infoGeraisLayout.setVerticalGroup(
            infoGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 516, Short.MAX_VALUE)
        );

        painecomGuias.addTab("Inofrmações Gerais", infoGerais);

        javax.swing.GroupLayout galeriaLayout = new javax.swing.GroupLayout(galeria);
        galeria.setLayout(galeriaLayout);
        galeriaLayout.setHorizontalGroup(
            galeriaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 589, Short.MAX_VALUE)
        );
        galeriaLayout.setVerticalGroup(
            galeriaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 516, Short.MAX_VALUE)
        );

        painecomGuias.addTab("Galeria", galeria);

        javax.swing.GroupLayout dadosLayout = new javax.swing.GroupLayout(dados);
        dados.setLayout(dadosLayout);
        dadosLayout.setHorizontalGroup(
            dadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 589, Short.MAX_VALUE)
        );
        dadosLayout.setVerticalGroup(
            dadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 516, Short.MAX_VALUE)
        );

        painecomGuias.addTab("Dados", dados);

        painelRolagem.setViewportView(painecomGuias);

        javax.swing.GroupLayout painel2Layout = new javax.swing.GroupLayout(painel2);
        painel2.setLayout(painel2Layout);
        painel2Layout.setHorizontalGroup(
            painel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, painel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(painel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(painelRolagem)
                    .addComponent(visor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        painel2Layout.setVerticalGroup(
            painel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(painel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(visor, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(painelRolagem, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
                .addContainerGap())
        );

        getContentPane().add(painel2, java.awt.BorderLayout.CENTER);

        barramenu.setBackground(new java.awt.Color(51, 51, 51));
        barramenu.setForeground(new java.awt.Color(255, 255, 255));

        meunSobre.setForeground(new java.awt.Color(255, 255, 255));
        meunSobre.setText("Sobre");

        jMenuItem3.setText("Especifícações do Software");
        meunSobre.add(jMenuItem3);

        barramenu.add(meunSobre);

        jMenu1.setForeground(new java.awt.Color(255, 255, 255));
        jMenu1.setText("Sair");

        jMenuItem1.setText("Sair");
        jMenu1.add(jMenuItem1);

        barramenu.add(jMenu1);

        setJMenuBar(barramenu);

        setSize(new java.awt.Dimension(922, 558));
        setLocationRelativeTo(null);
    }// </editor-fold>                        

    private void mostraMapa(java.awt.event.ActionEvent evt) {                            
        
        Principal2 prin =  new Principal2();
        prin.mostrarMunicipio("Caicó");
        
    }                           

    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Principal2().setVisible(true);
            }
        });

    }

    // Variables declaration - do not modify                     
    private javax.swing.JMenuBar barramenu;
    private javax.swing.JPanel dados;
    private javax.swing.JPanel galeria;
    private javax.swing.JPanel infoGerais;
    private javax.swing.JButton jButton1;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenu meunSobre;
    private javax.swing.JComboBox<String> opcao;
    private javax.swing.JTabbedPane painecomGuias;
    private javax.swing.JPanel painel;
    private javax.swing.JPanel painel2;
    private javax.swing.JScrollPane painelRolagem;
    private javax.swing.JPanel visor;
    // End of variables declaration                   
}

O que é P.E.O.O?

1 curtida

Programação Estruturada e Orientada a Objetos

Interessante, nunca tinha ouvido falar em P.E.O.O, só em P.O.O.