Pessoas..please...gostaria de saber duas coisas:
Como mesclar células;
Como deixar uma celula em Negrito, Itálico, Sublinhado
abaixo está meu código fonte da classe correspondente a tabela....
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;
import java.awt.*;
import java.sql.*;
import java.text.DecimalFormat;
public class imprimeRelatorio extends JFrame{
JLabel lTitulo;
Connection connection;
DecimalFormat duasCasas = new DecimalFormat("###,##0.00");
double dFunilaria,dPintura,dTapecaria,dEletrica,dMecanica,dTerceiros,dOutros,dPecas,dSubTotal,dFranquia,dDesconto,dSubtotal,dTotal;
DefaultComboBoxModel modelo = new DefaultComboBoxModel();
JComboBox cRelatorios = new JComboBox(modelo);
String relatorioSelecionado="";
DefaultTableModel modeloTabela;
JTable tabela;
Container caixa = getContentPane();
public imprimeRelatorio(){
caixa.setLayout(new FlowLayout());
String[] colunas = new String []{"nf","placa","veiculo","seguradora","fun","pint","tap","ele","mec","terc","out","pecas","subtotal","franquia","desconto","total"};
String[][] dados = new String [][] {
{"NF","PLACA","VEICULO","SEGURADORA","FUN","PIN","TAP","ELE","MEC","TERC","OUT","PECAS","SUBTOTAL","FRANQUIA","DESCONTO","TOTAL"},
};
//Configuração da Tabela
modeloTabela = new DefaultTableModel(dados,colunas);
tabela = new JTable(modeloTabela);
tabela.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
tabela.setEnabled(false);
tabela.setGridColor(Color.black);
//Centralização dos dados nas Células.
DefaultTableCellRenderer renderer = (DefaultTableCellRenderer) tabela.getDefaultRenderer(JLabel.class);
renderer.setHorizontalAlignment(SwingConstants.CENTER);
//Configuração de tamanho das Colunas
tabela.getColumnModel().getColumn(0).setPreferredWidth(40);//Coluna NF
tabela.getColumnModel().getColumn(1).setPreferredWidth(65);//Coluna Placa
tabela.getColumnModel().getColumn(3).setPreferredWidth(100);//Coluna Seguradora
tabela.getColumnModel().getColumn(4).setPreferredWidth(65);//Coluna Funilaria
tabela.getColumnModel().getColumn(5).setPreferredWidth(65);//Coluna Pintura
tabela.getColumnModel().getColumn(6).setPreferredWidth(65);//Coluna Tapeçaria
tabela.getColumnModel().getColumn(7).setPreferredWidth(65);//Coluna Eletrica
tabela.getColumnModel().getColumn(8).setPreferredWidth(65);//Coluna Mecanica
tabela.getColumnModel().getColumn(9).setPreferredWidth(65);//Coluna Terceiros
tabela.getColumnModel().getColumn(10).setPreferredWidth(65);//Coluna Outros
caixa.add(cRelatorios);
verificarRelatorios();
setVisible(true);
setTitle("Impressão de Relatório");
setSize(1130,600);
setLocationRelativeTo(null);
}
public static void main(String args[]){
imprimeRelatorio imprime = new imprimeRelatorio();
imprime.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void abrirConexao(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:ControleInterno";
connection = DriverManager.getConnection(url,"","");
}
catch(ClassNotFoundException cnfex){
System.err.println("Falha ao carregar o JDBC/ODBC driver.");
System.exit(0);
}
catch(SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
}
public void verificarRelatorios(){
abrirConexao();
try{
Statement stm = connection.createStatement();
String sql = "SELECT mes FROM relatorios WHERE fechado=false";
ResultSet rs = stm.executeQuery(sql);
modelo.addElement("Selecione");
while(rs.next()){
modelo.addElement(rs.getString("mes"));
}
}
catch (SQLException e){
JOptionPane.showMessageDialog(null,"Erro. Não foi possível conectar ao Banco de Dados.\nContate o administrador do sistema.");
e.printStackTrace();
}
finally{
try{
connection.close();
}
catch(SQLException onConClose){
JOptionPane.showMessageDialog(null,"Erro. Houve um problema no fechamendo da conexão do Banco de Dados.\nContate o Administrador do sistema.");
onConClose.printStackTrace();
}
}
cRelatorios.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
relatorioSelecionado =""+cRelatorios.getSelectedItem();
lTitulo = new JLabel("Grid Racing Team - Relatório de "+relatorioSelecionado);
lTitulo.setFont(new Font("Garamond",Font.BOLD,40));
caixa.add(lTitulo);
lTitulo.setVisible(false);
geraTabela();
}
}
);
}
public void geraTabela(){
abrirConexao();
try{
Statement stm = connection.createStatement();
String sqlSomas = "SELECT fun,pin,tap,ele,mec,terc,out,pecas,subtotal,franquia,desconto,total FROM "+relatorioSelecionado;
ResultSet rsSomas = stm.executeQuery(sqlSomas);
while(rsSomas.next()){
dFunilaria+=rsSomas.getDouble("fun");
dPintura+=rsSomas.getDouble("pin");
dTapecaria+=rsSomas.getDouble("tap");
dEletrica+=rsSomas.getDouble("ele");
dMecanica+=rsSomas.getDouble("mec");
dTerceiros+=rsSomas.getDouble("terc");
dOutros+=rsSomas.getDouble("out");
dPecas+=rsSomas.getDouble("pecas");
dSubtotal+=rsSomas.getDouble("subtotal");
dFranquia+=rsSomas.getDouble("franquia");
dDesconto+=rsSomas.getDouble("desconto");
dTotal+=rsSomas.getDouble("total");
}
String sql = "SELECT * FROM "+relatorioSelecionado;
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
modeloTabela.addRow(new String[]{""+rs.getInt("nf"),
rs.getString("placa"),
rs.getString("veiculo"),
rs.getString("seguradora"),
""+duasCasas.format(rs.getDouble("fun")),
""+duasCasas.format(rs.getDouble("pin")),
""+duasCasas.format(rs.getDouble("tap")),
""+duasCasas.format(rs.getDouble("ele")),
""+duasCasas.format(rs.getDouble("mec")),
""+duasCasas.format(rs.getDouble("terc")),
""+duasCasas.format(rs.getDouble("out")),
""+duasCasas.format(rs.getDouble("pecas")),
""+duasCasas.format(rs.getDouble("subtotal")),
""+duasCasas.format(rs.getDouble("franquia")),
""+duasCasas.format(rs.getDouble("desconto")),
""+duasCasas.format(rs.getDouble("total"))
}
);
}
modeloTabela.addRow(new String[]{"","","","","","","","","","","","","","","",""});
modeloTabela.addRow(new String[]{"",
"",
"",
"",
""+duasCasas.format(dFunilaria),
""+duasCasas.format(dPintura),
""+duasCasas.format(dTapecaria),
""+duasCasas.format(dEletrica),
""+duasCasas.format(dMecanica),
""+duasCasas.format(dTerceiros),
""+duasCasas.format(dOutros),
""+duasCasas.format(dPecas),
""+duasCasas.format(dSubtotal),
""+duasCasas.format(dFranquia),
""+duasCasas.format(dDesconto),
""+duasCasas.format(dTotal)
}
);
cRelatorios.setVisible(false);
lTitulo.setVisible(true);
caixa.add(tabela);
}
catch (SQLException e){
JOptionPane.showMessageDialog(null,"Erro. Não foi possível conectar ao Banco de Dados.\nContate o administrador do sistema.");
e.printStackTrace();
}
finally{
try{
connection.close();
}
catch(SQLException onConClose){
JOptionPane.showMessageDialog(null,"Erro. Houve um problema no fechamendo da conexão do Banco de Dados.\nContate o Administrador do sistema.");
onConClose.printStackTrace();
}
}
}
}
Fico no aguardo....