Ajuda na interface

2 respostas
pardim7

Oi eu ainda sou iniciante em java, então queria saber se voces podem me dar um exemplo de codigo com interface, eu ja baixei o swing mas nao to conseguindo fazer isto, se alguém poder porfavor me passa um exemplo de interface com swing porfavor me passe
abraçosss

2 Respostas

J
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.text.*;
import java.text.DecimalFormat;

public class ex11 extends JFrame{

   	private JButton incluir;
   	private JButton excluir;
   	private JButton finalizarComprar;
   	private JTextField produto;
   	private JTextField quantidade;
   	private JTextField valorUnitario;
   	private JTextField tfValorTotal;
   	private JComboBox tipoCompra;
	private List lista;

	private double valorUni;
	private double valorTotal = 0;
	private String valorRemovido;
	private String valorDoubleRemovido;
	private int numParcelas = 0;
	private double valorParcelas;

	DecimalFormat casas = new DecimalFormat("0.00");
    public ex11() {
    	super("Vendas");

    	Container telaPrincipal = getContentPane();
    	telaPrincipal.setLayout(new BorderLayout());

		//label Tela de Venda
    	JPanel plTitle = new JPanel(new FlowLayout());
    	plTitle.add(new JLabel("Tela de venda"));


    	new PainelPrincipal();
		new PainelSecundario();

		telaPrincipal.add(plTitle, BorderLayout.NORTH);
    	telaPrincipal.add(new PainelPrincipal(), BorderLayout.WEST);
		telaPrincipal.add(new PainelSecundario(), BorderLayout.EAST);

		//eventos
		incluir.addActionListener(new eventosButton());
		excluir.addActionListener(new eventosButton());
		finalizarComprar.addActionListener(new eventosButton());

    	pack();
    	setLocationRelativeTo(null);
    	//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	addWindowListener(new WindowAdapter(){
    		public void windowClosing (WindowEvent e){
    			System.exit(0);
    		}
    	});
    	setVisible(true);

    }


    class PainelPrincipal extends JPanel{

    	public PainelPrincipal(){
    		setLayout(new BorderLayout());

    		//Componentes de JTextFild
    		JPanel plTextFild = new JPanel(new GridLayout(2,1));
    		JPanel plTFPrimeiro = new JPanel(new FlowLayout(FlowLayout.LEFT));
    		produto = new JTextField(20);
    		plTFPrimeiro.add(new JLabel("Produto: "));
    		plTFPrimeiro.add(produto);

    		JPanel plTFSegundo = new JPanel(new FlowLayout(FlowLayout.LEFT));
    		plTFSegundo.add(new JLabel("Quantidade: "));
    		quantidade = new JTextField(6);
    		quantidade.setDocument(new MeuQtdDocument());
    		plTFSegundo.add(quantidade);
    		plTFSegundo.add(new JLabel("  Valor: "));
    		valorUnitario = new JTextField(7);
    		valorUnitario.setDocument(new MeuValorDocument());
    		plTFSegundo.add(valorUnitario);

    		plTextFild.add(plTFPrimeiro);
    		plTextFild.add(plTFSegundo);
    		add(plTextFild, BorderLayout.NORTH);

    		//Lista de visualização dos produtos
    		JPanel plLista = new JPanel(new BorderLayout());

    		lista = new List(13);
    		//lista.setVisibleRowCount(13);
			//lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

			plLista.add(new JLabel(" "), BorderLayout.NORTH);
    		plLista.add(new JScrollPane(lista), BorderLayout.CENTER);

    		add(plLista, BorderLayout.SOUTH);

    	}
    }
    	class PainelSecundario extends JPanel{
	    	public PainelSecundario(){
	    		setLayout(new FlowLayout());
	    		JPanel jpButtonPrincipal = new JPanel(new BorderLayout());
	    		//add os button


				JPanel jpButtonNort = new JPanel(new GridLayout(2,1));
				incluir = new JButton("Incluir");
				incluir.setPreferredSize(new Dimension(80,30));
				excluir = new JButton("Excluir");
				excluir.setPreferredSize(new Dimension(80,30));
				jpButtonNort.add(incluir);
				jpButtonNort.add(excluir);

				JPanel jpButtonFloNort1 = new JPanel(new FlowLayout());
				jpButtonFloNort1.add(incluir, FlowLayout.LEFT);
				JPanel jpButtonFloNort2 = new JPanel(new FlowLayout());
				jpButtonFloNort2.add(excluir, FlowLayout.LEFT);

				jpButtonNort.add(jpButtonFloNort1);
				jpButtonNort.add(jpButtonFloNort2);

				jpButtonPrincipal.add(jpButtonNort, BorderLayout.NORTH);

				//button south
				JPanel jpButtonSouth = new JPanel(new GridLayout(3,1));
				finalizarComprar = new JButton("<html>Finalizar<br>Compra</html>");
				tipoCompra = new JComboBox(new String[]{"Avista", "Apazo"});

				JPanel jpButtonFloSouth1 = new JPanel(new FlowLayout());
				jpButtonFloSouth1.add(tipoCompra);
				JPanel jpButtonFloSouth2 = new JPanel(new FlowLayout());
				jpButtonFloSouth2.add(finalizarComprar);

				JPanel jpButtonTfildSouth = new JPanel(new FlowLayout(FlowLayout.LEFT));
				jpButtonTfildSouth.add(new JLabel("Total:"));
				tfValorTotal = new JTextField(4);
				tfValorTotal.setEditable(false);
				jpButtonTfildSouth.add(tfValorTotal);


				jpButtonSouth.add(jpButtonTfildSouth);

				jpButtonSouth.add(jpButtonFloSouth1);
				jpButtonSouth.add(jpButtonFloSouth2);

				jpButtonPrincipal.add(new JLabel("<html> <br> <br> <br> <br> </html>"), BorderLayout.CENTER);
				jpButtonPrincipal.add(jpButtonSouth, BorderLayout.CENTER);


				add(jpButtonPrincipal);

	    	}
    	}

		class eventosButton implements ActionListener{
		    	int posicao;
		    	public void actionPerformed (ActionEvent e){
		    		//add compra
		    		if (e.getSource().equals(incluir)){
		    			if (!produto.getText().equals("") && !quantidade.getText().equals("") && !valorUnitario.getText().equals("")){
			    			valorUni = Integer.parseInt(quantidade.getText()) * Double.parseDouble(valorUnitario.getText());
			    			valorTotal += valorUni;
			    			tfValorTotal.setText(String.valueOf(casas.format(valorTotal)));
			    			lista.add(produto.getText() +" | "+quantidade.getText() +" | R$: "+ valorUni);
			    			produto.setText("");
				    		quantidade.setText("");
				    		valorUnitario.setText("");
		    			}else{
		    				JOptionPane.showMessageDialog(null,"Preencha os campos");
		    			}
		    		}//Remover Compra
		    		else if (e.getSource().equals(excluir)){
		    			if(lista.getSelectedIndex() != -1){
			    				if (JOptionPane.showConfirmDialog(null,"Deseja Excluir?") == 0){
				    			//Copia a string selecionada para um string
				    			valorRemovido = lista.getSelectedItem();
				    			//pega a psição onde se encontra ':'
				    			posicao = valorRemovido.indexOf(":");
				    			//String valorDoubleRemovido copia apartir da posição +1 da string a ser removida
				    			valorDoubleRemovido = valorRemovido.substring(posicao+1);
				    			//Retira do valor total o valor da compra a ser removida
				    			valorTotal -= Double.parseDouble(valorDoubleRemovido);
				    			tfValorTotal.setText(String.valueOf(valorTotal));
				    			lista.remove(lista.getSelectedIndex());
		    				}
		    			}else{
		    				JOptionPane.showMessageDialog(null, "Selecione uma compra");
		    			}
		    		}
		    		else{
		    			if (tipoCompra.getSelectedIndex() == 0){
			    			if (lista.getItemCount() != 0){
			    				JOptionPane.showMessageDialog(null, "Compra finalizada com sucesso\n Valor total: "+ valorTotal);
			    				lista.removeAll();
			    				tfValorTotal.setText("");
			    				valorTotal = 0.0;
			    			}else
			    				JOptionPane.showMessageDialog(null,"Nem um item na lista de venda");
		    			}else{
		    				try{
		    					if (lista.getItemCount() != 0){
		    					/*	String numParcelasString = JOptionPane.showInputDialog(null,"Informe o numero de parcelas\nMunimo 2, Maximo 10 Parcelas");
		    						numParcelas = Integer.parseInt(numParcelasString);

		    						JOptionPane.showMessageDialog(null,"Valor Parcelas: "+ casas.format((valorParcelas = (valorTotal * (1 + (numParcelas * 0.02)))/numParcelas))
		    														+"\n Valor Final: "+ casas.format((valorParcelas = (valorTotal * (1 + (numParcelas * 0.02))))));
*/
		    						new vendaAprazo();
		    						produto.setText("");
				    				quantidade.setText("");
				    				valorUnitario.setText("");
				    				tfValorTotal.setText("");
				    				tipoCompra.setSelectedIndex(0);
				    				lista.removeAll();
		    					}
		    					else{
		    						JOptionPane.showMessageDialog(null,"Nem um item na lista de venda");
		    					}
		    				}
		    				catch(Exception ev){
		    					ev.printStackTrace();
		    				}

		    			}

		    		}
		    	}
		    }
		 //Quantidade
		class MeuQtdDocument extends PlainDocument{
		  	public void insertString(int offs, String str,
		          AttributeSet a) throws BadLocationException{
		    	char digito;
		    	boolean numerico = true;
		     	digito = str.charAt(0);

		      	if(!Character.isDigit(digito))
		       	 	numerico = false;

    	 		if(numerico)
     	 			super.insertString(offs, str, a);
  }
}
		//Valor
		class MeuValorDocument extends PlainDocument{
		  	public void insertString(int offs, String str,
		          AttributeSet a) throws BadLocationException{
		    	char digito;
		    	char ponto = '.';
		    	boolean numerico = true;

		     	digito = str.charAt(0);

		      	if(!Character.isDigit(digito) && digito != ponto)
		       	 	numerico = false;

    	 		if(numerico)
     	 			super.insertString(offs, str, a);
  }
}
	class vendaAprazo extends JFrame {
		private JTextField tfNumParcela = new JTextField(6);
		private JTextField tfValorFinal = new JTextField(8);
		private JTextField tfVTotalParelado = new JTextField(8);
		private JButton jbEnd = new JButton("Finalizar");



		public vendaAprazo(){
			super("Venda Parcelada");

			Container tela = getContentPane();
			tela.setLayout(new BorderLayout());

			tela.add(new JLabel("<html>Informe o numero de parcelas<br>Minimo 2, Maximo 10 parcelas</html>"), BorderLayout.NORTH);
			tela.add(new JLabel("Quantidade de Parcelas: "), BorderLayout.CENTER);

			JPanel plButton = new JPanel(new GridLayout(4,2));
			plButton.add(tfNumParcela);
			plButton.add(jbEnd);
			plButton.add(new JLabel("Valor das Parcelas: "));
			plButton.add(tfValorFinal);
			plButton.add(new JLabel("Valor:"));
			plButton.add(tfVTotalParelado);

			tela.add(plButton, BorderLayout.SOUTH);

			jbEnd.addActionListener(new ActionListener(){
				public void actionPerformed (ActionEvent e){
					if (Integer.parseInt(tfNumParcela.getText()) > 1 && Integer.parseInt(tfNumParcela.getText()) < 11){
						numParcelas = Integer.parseInt(tfNumParcela.getText());
						valorParcelas = (valorTotal * (1 + (numParcelas * 0.02))) / numParcelas;
						tfValorFinal.setText(String.valueOf(casas.format(valorParcelas)));
						valorParcelas = (valorTotal * (1 + (numParcelas * 0.02)));
						tfVTotalParelado.setText(String.valueOf(casas.format(valorParcelas)));
					}else
						JOptionPane.showMessageDialog(null, "Número de parcela invalida");
				}
			});
			addWindowListener(new WindowAdapter(){
				public void windowClosing (WindowEvent e){
					dispose();
				}
			});
			pack();
			setLocationRelativeTo(null);
			setVisible(true);
		}
	}

    public static void main(String[] args) {
        new ex11();
    }
}
pardim7

Muito Obrigado !
ajudou muito amigo
até mais

Criado 18 de outubro de 2011
Ultima resposta 18 de out. de 2011
Respostas 2
Participantes 2