Swing:Exemplo JComboBox
De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
package swing;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class FolhaDePagamento extends JFrame{
private static final int marginLeft = 20;
private static final int marginMeio = 200;
private static int marginTop = 20;
private List<Funcionario> funcionarios;
public FolhaDePagamento(String title){
super(title);
setSize(500,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// sem layout...
getContentPane().setLayout(null);
inicializaFuncionarios();
JTextField salTxt = new JTextField();
JLabel jfun = new JLabel("Tipo Funcionario:");
jfun.setBounds(marginLeft,marginTop,200,30);
add(jfun);
JComboBox select =
new JComboBox(funcionarios.toArray());
select.setBounds(marginMeio,marginTop,200,30);
select.insertItemAt("--Selecione o cargo--", 0);
select.setSelectedIndex(0);
select.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if(select.getSelectedIndex()!=0){
// retorna o objeto selecionado:
Funcionario f = (Funcionario)select.getSelectedItem();
salTxt.setText(f.getSalario()+"");
}else{
salTxt.setText("");
}
}
});
add(select);
marginTop = marginTop + 50;
JLabel jSal = new JLabel("Salário:");
jSal.setBounds(marginLeft,marginTop,200,30);
add(jSal);
salTxt.setBounds(marginMeio,marginTop,200,30);
add(salTxt);
marginTop = marginTop + 50;
JLabel jBono = new JLabel("Bonificacao:");
jBono.setBounds(marginLeft,marginTop,200,30);
add(jBono);
JTextField bonoTxt = new JTextField();
bonoTxt.setBounds(marginMeio,marginTop,200,30);
add(bonoTxt);
marginTop = marginTop + 50;
JSeparator sep = new JSeparator();
sep.setBounds(marginLeft,marginTop,400,5);
add(sep);
marginTop = marginTop + 50;
JLabel jtotal = new JLabel("Total:");
jtotal.setBounds(marginLeft,marginTop,200,30);
add(jtotal);
JLabel jvalor = new JLabel("R$ ");
jvalor.setBounds(marginMeio,marginTop,200,30);
add(jvalor);
}
private void inicializaFuncionarios() {
funcionarios = new ArrayList<Funcionario>();
Funcionario f1 = new Funcionario("Diretor",4000d);
Funcionario f2 = new Funcionario("Gerente",5000d);
Funcionario f3 = new Funcionario("Analista",3000d);
funcionarios.add(f1);
funcionarios.add(f2);
funcionarios.add(f3);
}
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
UIManager.setLookAndFeel("com.jtattoo.plaf.smart.SmartLookAndFeel");
FolhaDePagamento f =
new FolhaDePagamento("Folha de pagamento");
f.setVisible(true);
}
}
package swing;
public class Funcionario {
private String tipo;
private Double salario;
public Funcionario(String _tipo, Double _salario){
tipo = _tipo;
salario = _salario;
}
public Double getBonificacao(){
// return 0.1 * salario // analista
// return 0.2 * salario // diretor
// return 0.3 * salario // gerente
return 0.1;
}
@Override
public String toString() {
return this.tipo;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public Double getSalario() {
return salario;
}
public void setSalario(Double salario) {
this.salario = salario;
}
}