Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Aula 6 JRadioButton / setBounds JRadioButton (Botões Multuamente Exclusivos) Um objeto JRadioButton é usado juntamente com um objeto ButtonGroup para criar grupos de botões de seleção onde apenas um botão pode estar selecionado, exclusivamente. setBounds É possível desativar o Gerenciador de Layout caso se queira definir o tamanho ou posição dos componentes de forma manual. Para desligar layouts: setLayout(null); Porém torna-se necessário definir posição e tamanho de cada componente: componente.setBounds(x, y, larg, alt); Exemplo1: altura largura linha coluna 2 package programas; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; public class Exemplo1Radio extends JFrame { public JPanel borda; public JLabel lblNome; public JLabel lblSexo; public JLabel lblFeminino; public JLabel lblEstadoCivil; public JTextField txtNome; public JRadioButton rbtMasculino; public JRadioButton rbtFeminino; public ButtonGroup btgSexo; public JRadioButton rbtSolteiro; public JRadioButton rbtCasado; public JRadioButton rbtViuvo; public ButtonGroup btgEstadoCivil; public JButton btnSair; public JButton btnLimpar; public Exemplo1Radio() { setTitle("Formulário Botões Multuamente Exclusivos"); 3 } public void defineFrame() { setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(600, 310); setVisible(true); } public void montaTela() { setLayout(null); Container digita = getContentPane(); lblNome = new JLabel("Nome:"); txtNome = new JTextField(); btnSair = new JButton("Sair"); btnLimpar = new JButton("Limpar"); lblSexo = new JLabel("Sexo:"); rbtMasculino = new JRadioButton("Masculino"); rbtFeminino = new JRadioButton("Feminino"); btgSexo = new ButtonGroup(); btgSexo.add(rbtFeminino); btgSexo.add(rbtMasculino); lblEstadoCivil = new JLabel("Estado Civil:"); rbtCasado = new JRadioButton("Casado"); rbtSolteiro = new JRadioButton("Solteiro"); rbtViuvo = new JRadioButton("Viúvo"); btgEstadoCivil = new ButtonGroup(); btgEstadoCivil.add(rbtCasado); btgEstadoCivil.add(rbtSolteiro); btgEstadoCivil.add(rbtViuvo); lblNome.setBounds(50, 40, 200, 25); txtNome.setBounds(150, 40, 350, 25); lblSexo.setBounds(50, 80, 300, 30); rbtMasculino.setBounds(150, 80, 100, 30); rbtFeminino.setBounds(250, 80, 100, 30); lblEstadoCivil.setBounds(50, 110, 300, 30); rbtCasado.setBounds(150, 110, 100, 30); rbtSolteiro.setBounds(250, 110, 100, 30); rbtViuvo.setBounds(350, 110, 100, 30); borda = new JPanel(); borda.setBorder(BorderFactory.createTitledBorder(null, "Botões")); borda.setBounds(40, 70, 460, 90); btnLimpar.setBounds(50, 200, 80, 30); btnSair.setBounds(410, 200, 80, 30); btnSair.addActionListener(new Sair()); 4 btnLimpar.addActionListener(new Limpar()); digita.add(lblNome); digita.add(txtNome); digita.add(lblSexo); digita.add(rbtMasculino); digita.add(rbtFeminino); digita.add(lblEstadoCivil); digita.add(rbtCasado); digita.add(rbtSolteiro); digita.add(rbtViuvo); digita.add(borda); digita.add(btnSair); digita.add(btnLimpar); } public class Sair implements ActionListener { @Override public void actionPerformed(ActionEvent e) { System.exit(0); setDefaultCloseOperation(EXIT_ON_CLOSE); } } public class Limpar implements ActionListener { @Override public void actionPerformed(ActionEvent e) { txtNome.setText(""); // rbtCasado.setSelected(true); // Marca um botao btgSexo.clearSelection(); //Limpa os botoes btgEstadoCivil.clearSelection(); //Limpa os botoes } } public static void main(String[] args) { Exemplo1Radio exe = new Exemplo1Radio(); exe.montaTela(); exe.defineFrame(); } } Exercício 1 5 6 Exercício 2 De acordo com o formulário abaixo, implementar uma aplicação em Java Swing de acordo com as regras estabelecidas. O programa deverá calcular e imprimir os valores do salário, gratificação, comissão, hora extra, salário bruto, faltas, vale transporte, inss, irrf, total de descontos e salário líquido conforme tabelas abaixo. Tabela do INSS Faixa Salarial Desconto INSS (Percentual sobre o Salário Bruto) Até 500,00 8% Acima de 500,00 até 1000,00 9% Acima de 1000,00 até 2800,00 10% Acima de 2800,00 280,00 (valor fixo) Tabela do Imposto de Renda Retido na Fonte Faixa Salarial Desconto IRRF (Percentual sobre o Salário Bruto) Desconto Padrão Até 1500,00 Isento Acima de 1500,00 até 2500,00 15% 150,00 Acima de 2500,00 27,5% 350,00 Fórmulas: O valor da comissão deverá ser informado no formato de percentual (exe: 10.5) depois calculado O valor da gratificação deverá ser informado no formato de percentual (exe: 3.75) depois calculado Hora extra = salario / 220 * 0.5 * qtde de horas Total de proventos = Salário + Gratificação + Comissão + Hora Extra 7 Faltas = Salário / 30 * qtde faltas Vale transporte = Salário * 6 / 100 Inss = (Salário bruto – faltas) * percentual da faixa Irrf = (Salario bruto – faltas - inss ) * percentual da faixa – desconto padrão Total de descontos = Faltas + Vale Transporte + Inss + Irrf Salário líquido = Total de proventos – total de descontos Formatando Valores: Exemplo: package programas; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DecimalFormat; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class ExemploFormatarFloat extends JFrame { private JLabel lblSalario, lblGratificacao, lblComissao; private JLabel lblSalarioProv, lblGratificacaoProv, lblComissaoProv; private JTextField txtSalario, txtGratificacao, txtComissao; private JTextField txtSalarioProv, txtGratificacaoProv, txtComissaoProv; private JButton btnCalcular, btnSair; private DecimalFormat deci; public ExemploFormatarFloat() { super("Formantando Valores"); setSize(700, 300);//Largura altura setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 8 } public void montaTela() { Container cp = getContentPane(); setLayout(null);deci = new DecimalFormat("#0.00"); lblSalario = new JLabel("Salário: "); lblSalario.setBounds(100, 100, 160, 30); txtSalario = new JTextField(); txtSalario.setBounds(190, 100, 160, 25); lblGratificacao = new JLabel("Gratificação: "); lblGratificacao.setBounds(100, 130, 160, 30); txtGratificacao = new JTextField(); txtGratificacao.setBounds(190, 130, 160, 25); txtGratificacao.setText("0.00"); lblComissao = new JLabel("Comissão: "); lblComissao.setBounds(100, 160, 160, 30); txtComissao = new JTextField(); txtComissao.setBounds(190, 160, 160, 25); txtComissao.setText("0.00"); lblSalarioProv = new JLabel("Salario:"); lblSalarioProv.setBounds(410, 100, 160, 30); txtSalarioProv = new JTextField(); txtSalarioProv.setEditable(false); txtSalarioProv.setBounds(510, 100, 160, 25); lblGratificacaoProv = new JLabel("Gratificação:"); lblGratificacaoProv.setBounds(410, 130, 160, 30); txtGratificacaoProv = new JTextField(); txtGratificacaoProv.setEditable(false); txtGratificacaoProv.setBounds(510, 130, 160, 25); lblComissaoProv = new JLabel("Comissão:"); lblComissaoProv.setBounds(410, 160, 160, 30); txtComissaoProv = new JTextField(); txtComissaoProv.setEditable(false); txtComissaoProv.setBounds(510, 160, 160, 25); btnCalcular = new JButton("Formatar"); btnCalcular.setBounds(200, 200, 100, 25); btnSair = new JButton("Sair"); btnSair.setBounds(540, 200, 100, 25); cp.add(lblSalario); cp.add(txtSalario); cp.add(lblGratificacao); cp.add(txtGratificacao); cp.add(lblComissao); cp.add(txtComissao); 9 cp.add(btnSair); cp.add(btnCalcular); cp.add(lblSalarioProv); cp.add(txtSalarioProv); cp.add(lblGratificacaoProv); cp.add(txtGratificacaoProv); cp.add(lblComissaoProv); cp.add(txtComissaoProv); btnSair.addActionListener(new Sair()); btnCalcular.addActionListener(new FormatarValores()); } public class FormatarValores implements ActionListener { @Override public void actionPerformed(ActionEvent e) { String salario, comissao, gratificacao; float vlrSalario; float vlrComissao; float vlrGratificacao; vlrSalario = Float.parseFloat(txtSalario.getText()); vlrGratificacao = Float.parseFloat(txtGratificacao.getText()); vlrComissao = Float.parseFloat(txtComissao.getText()); salario = String.valueOf(vlrSalario); txtSalarioProv.setText(salario); gratificacao = String.valueOf((deci.format(vlrGratificacao))); txtGratificacaoProv.setText(gratificacao); comissao = String.valueOf((deci.format(vlrComissao))); txtComissaoProv.setText(comissao); } } public class Sair implements ActionListener { @Override public void actionPerformed(ActionEvent e) { System.exit(0); setDefaultCloseOperation(EXIT_ON_CLOSE); } } public static void main(String args[]) { ExemploFormatarFloat exe = new ExemploFormatarFloat(); exe.montaTela(); exe.setVisible(true); } }
Compartilhar