Swing:Exemplo JComboBox: mudanças entre as edições
De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição |
Sem resumo de edição |
||
Linha 114: | Linha 114: | ||
} | } | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="java"> | |||
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; | |||
} | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> |
Edição atual tal como às 00h18min de 28 de abril de 2015
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;
}
}