Não é por nada não… mas acho que você já está começando errado… não use a parte de banco de dados direto no JFrame… isole o seu problema em camadas facilite a sua vida… e evite montar a consulta sql direto com os dados que o usuário fornecer… valide-os antes… popule objetos e os transfira para a camada de acesso aos dados…
P
prsantos
Correto!
Beleza!
O que não estou coseguindo fazer é criar uma classe JFRame, depois Criar outra classe que extenda ela, passando os parâmetros (seja eles de qualquer tipo)
P
prsantos
Já desenvolvi esta Classe aqui para popular alguns objetos formatados.
/* * PreencheObjetos.java * * Created on 5 de Agosto de 2007, 19:37 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */packageutilitarios;importbancodados.BancoDados;importjava.awt.Color;importjava.awt.Component;importjava.awt.Font;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql.SQLException;importjava.text.DecimalFormat;importjava.text.SimpleDateFormat;importjava.util.Vector;importjavax.swing.JOptionPane;importjavax.swing.JTable;importjavax.swing.table.DefaultTableColumnModel;importjavax.swing.table.JTableHeader;importjavax.swing.table.TableCellRenderer;importjavax.swing.table.TableColumnModel;/** * * @author PRSantos */publicclassPreencheObjetos{/** Creates a new instance of PreencheObjetos */publicstaticObjectfill(Objectobjeto,StringBuffersbSQL,ConnectionConexao){System.out.println("PopulandoObjeto-"+objeto.getClass().getName());if(objeto.getClass().getName().equals("ComboBox")){}elseif(objeto.getClass().getName().equals("javax.swing.JTable")){objeto=PreencheJTable((JTable)objeto,BancoDados.FabricaCosulta(sbSQL,Conexao));}elseif(objeto.getClass().getName().equals("javax.swing.DataGridView")){};returnobjeto;}protectedstaticJTablePreencheJTable(JTablejT,ResultSetrs){DecimalFormatdf=newDecimalFormat();SimpleDateFormatsdf=newSimpleDateFormat();// NumberFormat nf = new NumberFormat();// nf.try{ResultSetMetaDatarsmd=rs.getMetaData();//Adiciona cabeçalho das colunasVectorcols=newVector();for(inti=1;i<=rsmd.getColumnCount();++i){VectorconteudoCols=newVector();conteudoCols.addElement(rsmd.getColumnName(i));conteudoCols.addElement(rsmd.getColumnType(i));conteudoCols.addElement(rsmd.getColumnTypeName(i));conteudoCols.addElement(rsmd.getColumnDisplaySize(i));cols.addElement(conteudoCols);}//Adiciona registro a JTableVectorlins=newVector();if(rs.isBeforeFirst()){while(rs.next()){Vectorregs=newVector();for(inti=1;i<=rsmd.getColumnCount();++i){//Formata camposwitch(rsmd.getColumnType(i)){case2://Types.NUMERIC:regs.addElement(rs.getInt(i));break;case91://Types.DATE:regs.addElement(rs.getDate(i));break;case92://Types.TIME:regs.addElement(rs.getTime(i));break;case93://Types.TIMESTAMP:sdf.applyLocalizedPattern("dd/MM/yyyy");regs.addElement(sdf.format(rs.getTimestamp(i)));break;case01://Types.CHAR:regs.addElement(rs.getString(i));break;case12://Types.VARCHAR:regs.addElement(rs.getString(i));break;case4://Types.INTEGER:df.applyLocalizedPattern("000000");regs.addElement(df.format(rs.getInt(i)));break;case8://Types.DOUBLE:regs.addElement(rs.getDouble(i));break;case6://Types.FLOAT:regs.addElement(rs.getDouble(i));break;default:System.out.println("Tipofoi:"+rsmd.getColumnTypeName(i));}}//Adiciona registro fisicamentelins.addElement(regs);}}//Configura TabelajT.setModel(newModeloTabela(lins,cols));// jT.setColumnModel(new ModeloColunaTabela(cols));jT.getTableHeader().setDefaultRenderer(CelulaCabecalhoTabela(jT.getTableHeader()));jT.setDefaultRenderer(Object.class,newCelulaTabela());}catch(SQLExceptionerrorSQL){JOptionPane.showMessageDialog(null,errorSQL.getMessage(),"ErroSQL",JOptionPane.ERROR_MESSAGE);errorSQL.printStackTrace();}returnjT;}//Define modelo de colunaprotectedstaticTableColumnModelDefineModeloColunaTabela(Vectorlins,Vectorcols){//TableColumnModeltcm=newDefaultTableColumnModel(){publicbooleanisCellEditable(introwIndex,intmColIndex){returnfalse;}};returntcm;};protectedstaticTableCellRendererCelulaCabecalhoTabela(JTableHeaderjTH){finalTableCellRenderertcrNew=jTH.getDefaultRenderer();//TableCellRenderertcr=newTableCellRenderer(){publicComponentgetTableCellRendererComponent(JTabletable,Objectvalue,booleanisSelected,booleanhasFocus,introw,intcolumn){Componentcomp=tcrNew.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);comp.setFont(newFont("Arial",1,12));comp.setForeground(newColor(0,0,0));comp.setBackground(newColor(236,233,216));returncomp;}};returntcr;};// protected static TableCellRenderer CelulaTabela() {// //// TableCellRenderer tcr = new DefaultTableCellRenderer() {// public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {// // super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);// // //// if (isSelected) {// setBackground(Color.WHITE);// } else {// if (row % 2 == 0) {// setBackground(Color.CYAN);// } else {// setBackground(Color.LIGHT_GRAY);// }// }// // setHorizontalAlignment(SwingConstants.RIGHT);// //// //Alinha campo//// switch (rsmd.getColumnType(i)) {//// case 02: //Types.NUMERIC://// regs.addElement(rs.getInt(i));//// break;//// case 91: //Types.DATE://// regs.addElement(rs.getDate(i));//// break;//// case 93: //Types.TIMESTAMP://// sdf.applyLocalizedPattern("dd/MM/yyyy");//// regs.addElement(sdf.format(rs.getTimestamp(i)));//// break;//// case 01: //Types.CHAR://// regs.addElement(rs.getString(i));//// break;//// case 12: //Types.VARCHAR://// regs.addElement(rs.getString(i));//// break;//// case 04: //Types.INTEGER://// df.applyLocalizedPattern("000000");//// regs.addElement(df.format(rs.getInt(i)));//// break;//// case 06: //Types.FLOAT://// regs.addElement(rs.getDouble(i));//// break;//// default://// System.out.println("Tipo foi:" + rsmd.getColumnTypeName(i));//// }// //////// if (column == 0) {//// if (new BigDecimal(value.toString()).intValue() < 5) {//// setForeground(Color.green);//// }//// }// // // return this;// }// };// // return tcr;// };}