Seguinte: tem essas classes! Gostaria de saber se são mesmo o View e o Model e o que falta no controler.
Segue as mesmas:
View:
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.sql.*;
public class ListaFamilias extends javax.swing.JFrame {
public Connection con = null;
public Statement stm = null;
public ResultSet rs;
public String titulo;
public String pegaTitulo(String str){
str = titulo;
return str;
}
public ListaFamilias() {
initComponents();
setLocationRelativeTo(null);
ListaFamiliasM m = new ListaFamiliasM();
m.atualizaLista(lstFamilias);
setIconImage(Toolkit.getDefaultToolkit().getImage("c:\\ricardo\\telas\\sgod.jpg"));
}
// <editor-fold defaultstate="collapsed" desc=" Código Gerado ">//GEN-BEGIN:initComponents
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
lstFamilias = new javax.swing.JList();
btnSeleciona = new javax.swing.JButton();
btnSair = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Familias");
setResizable(false);
jScrollPane1.setViewportView(lstFamilias);
btnSeleciona.setText("Seleciona");
btnSeleciona.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSelecionaActionPerformed(evt);
}
});
btnSair.setText("Sair");
btnSair.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSairActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 213, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(btnSeleciona)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 85, Short.MAX_VALUE)
.addComponent(btnSair)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnSeleciona)
.addComponent(btnSair))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void btnSelecionaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSelecionaActionPerformed
titulo = (String) lstFamilias.getSelectedValue();
JOptionPane.showMessageDialog(null,"Familia Selecionada:\n"+titulo,"Familias",JOptionPane.INFORMATION_MESSAGE);
//telaPrincipal.setTitle(titulo);
}//GEN-LAST:event_btnSelecionaActionPerformed
private void btnSairActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSairActionPerformed
dispose();
}//GEN-LAST:event_btnSairActionPerformed
public static void main(String args[]) {
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (UnsupportedLookAndFeelException e) {
// handle exception
}
catch (ClassNotFoundException e) {
// handle exception
}
catch (InstantiationException e) {
// handle exception
}
catch (IllegalAccessException e) {
// handle exception
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ListaFamilias().setVisible(true);
}
});
}
// Declaração de variáveis - não modifique//GEN-BEGIN:variables
private javax.swing.JButton btnSair;
private javax.swing.JButton btnSeleciona;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JList lstFamilias;
// Fim da declaração de variáveis//GEN-END:variables
}
Model:[code]
import java.awt.event.;
import javax.swing.;
import java.awt.;
import java.io.;
import java.sql.*;
public class ListaFamiliasM {
public Connection con = null;
public Statement stm = null;
public ResultSet rs;
public JList lstFamilias;
public ListaFamiliasM() {
}
public void atualizaLista(JList lista){
lstFamilias = lista;
DefaultListModel dlm = new DefaultListModel();
lstFamilias.setModel(dlm);
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/dbsgod", "root", "");
stm = con.createStatement();
rs = stm.executeQuery("select * from familia");
while(rs.next()){
dlm.addElement(rs.getString(4));
}//fim while
}//fim try
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Apresente este erro\nao desenvolvedor do sistema.","E R R O",JOptionPane.INFORMATION_MESSAGE);
e.printStackTrace();
}//fim catch
}
}
[/code]
Controler (se falta ou alguma coisa e é mesmo controler):
public class ListaFamiliasC {
public ListaFamiliasC() {
}
public void atualizaLista(){
}
}
Por favor, se alguém um idéia melhor ou se isso NÃO for MVC me dá um aviso.
Por enquanto
Obrigado
Ricardo