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
Ajuda na interface
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();
}
}
Muito Obrigado !
ajudou muito amigo
até mais
Criado 18 de outubro de 2011
Ultima resposta 18 de out. de 2011
Respostas 2
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo