Swing:Exemplo JComboBox: mudanças entre as edições
De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
(Criou página com '<syntaxhighlight lang="java"> package swing; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; impor...') |
Sem resumo de edição |
||
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
Linha 18: | Linha 18: | ||
private static final int marginLeft = 20; | private static final int marginLeft = 20; | ||
private static final int marginMeio = 200; | private static final int marginMeio = 200; | ||
private static int | private static int marginTop = 20; | ||
private List<Funcionario> funcionarios; | private List<Funcionario> funcionarios; | ||
Linha 34: | Linha 34: | ||
JLabel jfun = new JLabel("Tipo Funcionario:"); | JLabel jfun = new JLabel("Tipo Funcionario:"); | ||
jfun.setBounds(marginLeft, | jfun.setBounds(marginLeft,marginTop,200,30); | ||
add(jfun); | add(jfun); | ||
JComboBox select = | JComboBox select = | ||
new JComboBox(funcionarios.toArray()); | new JComboBox(funcionarios.toArray()); | ||
select.setBounds(marginMeio, | select.setBounds(marginMeio,marginTop,200,30); | ||
select.insertItemAt("--Selecione o cargo--", 0); | select.insertItemAt("--Selecione o cargo--", 0); | ||
select.setSelectedIndex(0); | select.setSelectedIndex(0); | ||
Linha 57: | Linha 57: | ||
add(select); | add(select); | ||
marginTop = marginTop + 50; | |||
JLabel jSal = new JLabel("Salário:"); | JLabel jSal = new JLabel("Salário:"); | ||
jSal.setBounds(marginLeft, | jSal.setBounds(marginLeft,marginTop,200,30); | ||
add(jSal); | add(jSal); | ||
salTxt.setBounds(marginMeio, | salTxt.setBounds(marginMeio,marginTop,200,30); | ||
add(salTxt); | add(salTxt); | ||
marginTop = marginTop + 50; | |||
JLabel jBono = new JLabel("Bonificacao:"); | JLabel jBono = new JLabel("Bonificacao:"); | ||
jBono.setBounds(marginLeft, | jBono.setBounds(marginLeft,marginTop,200,30); | ||
add(jBono); | add(jBono); | ||
JTextField bonoTxt = new JTextField(); | JTextField bonoTxt = new JTextField(); | ||
bonoTxt.setBounds(marginMeio, | bonoTxt.setBounds(marginMeio,marginTop,200,30); | ||
add(bonoTxt); | add(bonoTxt); | ||
marginTop = marginTop + 50; | |||
JSeparator sep = new JSeparator(); | JSeparator sep = new JSeparator(); | ||
sep.setBounds(marginLeft, | sep.setBounds(marginLeft,marginTop,400,5); | ||
add(sep); | add(sep); | ||
marginTop = marginTop + 50; | |||
JLabel jtotal = new JLabel("Total:"); | JLabel jtotal = new JLabel("Total:"); | ||
jtotal.setBounds(marginLeft, | jtotal.setBounds(marginLeft,marginTop,200,30); | ||
add(jtotal); | add(jtotal); | ||
JLabel jvalor = new JLabel("R$ "); | JLabel jvalor = new JLabel("R$ "); | ||
jvalor.setBounds(marginMeio, | jvalor.setBounds(marginMeio,marginTop,200,30); | ||
add(jvalor); | add(jvalor); | ||
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;
}
}