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
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 top = 20;
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,top,200,30);
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,top,200,30);
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);
top = top + 50;
marginTop = marginTop + 50;
JLabel jSal = new JLabel("Salário:");
JLabel jSal = new JLabel("Salário:");
jSal.setBounds(marginLeft,top,200,30);
jSal.setBounds(marginLeft,marginTop,200,30);
add(jSal);
add(jSal);
salTxt.setBounds(marginMeio,top,200,30);
salTxt.setBounds(marginMeio,marginTop,200,30);
add(salTxt);
add(salTxt);
top = top + 50;
marginTop = marginTop + 50;
JLabel jBono = new JLabel("Bonificacao:");
JLabel jBono = new JLabel("Bonificacao:");
jBono.setBounds(marginLeft,top,200,30);
jBono.setBounds(marginLeft,marginTop,200,30);
add(jBono);
add(jBono);
JTextField bonoTxt = new JTextField();
JTextField bonoTxt = new JTextField();
bonoTxt.setBounds(marginMeio,top,200,30);
bonoTxt.setBounds(marginMeio,marginTop,200,30);
add(bonoTxt);
add(bonoTxt);
top = top + 50;
marginTop = marginTop + 50;
JSeparator sep = new JSeparator();
JSeparator sep = new JSeparator();
sep.setBounds(marginLeft,top,400,5);
sep.setBounds(marginLeft,marginTop,400,5);
add(sep);
add(sep);
top = top + 50;
marginTop = marginTop + 50;
JLabel jtotal = new JLabel("Total:");
JLabel jtotal = new JLabel("Total:");
jtotal.setBounds(marginLeft,top,200,30);
jtotal.setBounds(marginLeft,marginTop,200,30);
add(jtotal);
add(jtotal);
JLabel jvalor = new JLabel("R$ ");
JLabel jvalor = new JLabel("R$ ");
jvalor.setBounds(marginMeio,top,200,30);
jvalor.setBounds(marginMeio,marginTop,200,30);
add(jvalor);
add(jvalor);

Edição das 22h47min de 15 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);
	}
}