Boa tarde, sou novo no fórum e estou com um certo problema… Preciso mudar a cor de um texto na tabela, dependendo o valor que foi inserido no combo box.
Ex: Se no Combo Box foi inserido “Em andamento”, preciso que na tabela todas as situações “Em andamento” fiquem amarelas…
Segue abaixo meu código completo da tela Principal que é onde esta a tabela:
package br.com.inova.views;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JDesktopPane;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.DateFormat;
import java.util.Date;
import javax.swing.ImageIcon;
import java.awt.Color;
import javax.swing.JTextField;
import br.com.inova.utils.Conexao;
import net.proteanit.sql.DbUtils;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class TelaPrincipal extends JFrame {
//Declaracao das variaveis
private static final long serialVersionUID = 1L;
public static JPanel contentPane;
public static JMenu menRel;
public static JMenuItem menCadUsu;
public static JMenuItem menCadTec;
public static JLabel lblData;
public static JDesktopPane desk;
// Conexao com o Banco
Connection conexao = null;
PreparedStatement pst = null;
ResultSet rs = null;
//Inicio da Aplicacao
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Login frame = new Login();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private JTable tblOS;
private JTextField txtOSPesquisar;
private JTable tblRecados;
private static DefaultTableCellRenderer renderer;
//Criacao da Tela
public TelaPrincipal() {
//Quando a tela inicia a data aparece automaticamente com a linha abaixo
addWindowListener(new WindowAdapter() {
public void windowActivated(WindowEvent e) {
Date data = new Date();
DateFormat formatador = DateFormat.getDateInstance(DateFormat.SHORT);
lblData.setText(formatador.format(data));
pesquisar_os();
pesquisar_recado();
}
});
setTitle("Inova Tarefas ");
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 923, 510);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
//Criacao do Menu
JMenuBar Menu = new JMenuBar();
Menu.setBounds(20, 20, 370, 21);
contentPane.add(Menu);
JMenu menCad= new JMenu();
Menu.add(menCad);
menCad.setText("Cadastro");
JMenuItem menCadCli = new JMenuItem("Clientes");
menCadCli.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
TelaCliente cliente = new TelaCliente();
cliente.setVisible(true);
}
});
menCad.add(menCadCli);
JMenuItem menCadOs = new JMenuItem("OS");
menCadOs.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
TelaOs os = new TelaOs();
os.setVisible(true);
}
});
menCad.add(menCadOs);
menCadTec = new JMenuItem("Tecnicos");
menCadTec.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
TelaTecnico tecnico = new TelaTecnico();
tecnico.setVisible(true);
}
});
menCad.add(menCadTec);
menCadUsu = new JMenuItem("Usuários");
menCadUsu.addActionListener(new ActionListener() {
//Chama a tela de usuario
public void actionPerformed(ActionEvent e) {
TelaUsuario usuario = new TelaUsuario();
usuario.setVisible(true);
}
});
menCad.add(menCadUsu);
menCadUsu.setEnabled(false);
menRel = new JMenu();
menRel.setEnabled(false);
Menu.add(menRel);
menRel.setText("Relatório");
JMenuItem menRelSer = new JMenuItem("Serviços");
menRelSer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int confirma = JOptionPane.showConfirmDialog(null, "Confirma a emissao deste relatório?", "Atencao", JOptionPane.YES_NO_OPTION);
if (confirma == JOptionPane.YES_OPTION) {
try {
JasperPrint print = JasperFillManager.fillReport("/Users/gabriel/Desktop/Reports/servicos.jasper", null, conexao);
JasperViewer.viewReport(print, false);
} catch (Exception e2) {
JOptionPane.showMessageDialog(null, e2);
}
}
}
});
menRel.add(menRelSer);
JMenu menRec= new JMenu();
Menu.add(menRec);
menRec.setText("Recados");
JMenuItem menRecNovo = new JMenuItem("Novo Recado");
menRecNovo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
TelaRecado recado = new TelaRecado();
recado.setVisible(true);
}
});
menRec.add(menRecNovo);
JMenu menAju= new JMenu();
Menu.add(menAju);
menAju.setText("Ajuda");
JMenuItem menAjuManu = new JMenuItem("Manual");
menAju.add(menAjuManu);
JMenuItem menAjuSob = new JMenuItem("Sobre");
menAjuSob.addActionListener(new ActionListener() {
//Chama a tela Sobre
public void actionPerformed(ActionEvent e) {
TelaSobre sobre = new TelaSobre();
sobre.setVisible(true);
}
});
menAju.add(menAjuSob);
JMenu menOpc= new JMenu();
Menu.add(menOpc);
menOpc.setText("Opções");
JMenuItem menOpcSai = new JMenuItem("Sair");
menOpcSai.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//Exibir caixa de dialogo
int sair = JOptionPane.showConfirmDialog(null,"Tem certeza que deseja sair?","Atenção",JOptionPane.YES_NO_OPTION);
if (sair == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
menOpc.add(menOpcSai);
desk = new JDesktopPane();
desk.setBounds(12, 467, 540, -425);
contentPane.add(desk);
desk.setLayout(null);
//Data
lblData = new JLabel("Data");
lblData.setForeground(new Color(211, 65, 68));
lblData.setFont(new Font("Lucida Grande", Font.BOLD, 14));
lblData.setBounds(734, 42, 86, 15);
contentPane.add(lblData);
JLabel lblBemVindo = new JLabel("Bem Vindo");
lblBemVindo.setForeground(new Color(211, 65, 68));
lblBemVindo.setFont(new Font("Lucida Grande", Font.BOLD, 20));
lblBemVindo.setBounds(711, 20, 124, 16);
contentPane.add(lblBemVindo);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(20, 152, 502, 322);
contentPane.add(scrollPane);
tblOS = new JTable();
tblOS.setEnabled(false);
tblOS.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"OS", "Data", "Descrição", "Situação"
}
));
scrollPane.setViewportView(tblOS);
JScrollPane scrollPane2= new JScrollPane();
scrollPane2.setBounds(534, 152, 383, 322);
contentPane.add(scrollPane2);
tblRecados = new JTable();
tblRecados.setEnabled(false);
tblRecados.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"Recados"
}
));
scrollPane2.setViewportView(tblRecados);
txtOSPesquisar = new JTextField();
txtOSPesquisar.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
pesquisar_os();
}
});
txtOSPesquisar.setBounds(20, 89, 157, 26);
contentPane.add(txtOSPesquisar);
txtOSPesquisar.setColumns(10);
JLabel label_1 = new JLabel("");
label_1.setIcon(new ImageIcon(TelaPrincipal.class.getResource("/br/com/inova/icones/search.png")));
label_1.setBounds(189, 89, 69, 37);
contentPane.add(label_1);
JLabel lblProcurarOs = new JLabel("Procurar OS");
lblProcurarOs.setBounds(27, 71, 114, 16);
contentPane.add(lblProcurarOs);
JLabel label = new JLabel("");
label.setIcon(new ImageIcon(TelaPrincipal.class.getResource("/br/com/inova/icones/Logo_pequeno.png")));
label.setBounds(668, 69, 204, 68);
contentPane.add(label);
//Conexao com o banco
conexao = Conexao.conector();
}
private void pesquisar_os() {
String sql = "Select os as OS, data_os as Data, descricao as Descrição, situacao as Situação, valor as Valor from tbos where situacao like ?";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtOSPesquisar.getText()+"%");
rs = pst.executeQuery();
tblOS.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void pesquisar_recado() {
String sql = "Select recados as Recados from tbrecados";
try {
pst = conexao.prepareStatement(sql);
rs = pst.executeQuery();
tblRecados.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
}