package proyecto;
public class Catalogo {
private float pConvertidor,
pHub,
pMemoria,
pTarjeta;
public Catalogo() {
pConvertidor= 15F;
pHub= 13.50F;
pMemoria = 40F;
pTarjeta = 50.75F;
}
public float getPConvertidor(){
return pConvertidor;
}
public float getPHub(){
return pHub;
}
public float getPMemoria(){
return pMemoria;
}
public float getPTarjeta(){
return pTarjeta;
}
}
package proyecto;
public class Pedido {
private int convertidores,
hubs,
memorias,
tarjetas;
private Catalogo catalogo;
public Pedido(Catalogo catalogo) {
convertidores=0;
hubs=0;
memorias=0;
tarjetas=0;
this.catalogo=catalogo;
}
public void setConvertidores(int convertidores) {
this.convertidores=convertidores;
}
public void setHubs(int hubs) {
this.hubs=hubs;
}
public void setMemorias(int memorias) {
this.memorias=memorias;
}
public void setTarjetas(int tarjetas) {
}
public float calcularTotalSinIva(){
return (convertidores*catalogo.getPConvertidor())+(hubs*catalogo.getPHub())+(memorias*catalogo.getPMemoria())+(tarjetas*catalogo.getPTarjeta());
}
public float calcularTotalConIva(){
return (float)(calcularTotalSinIva()+(calcularTotalSinIva()*0.16));
}
public boolean unidadesNegativas(int unidades) {
return (unidades<0);
}
}
package proyecto;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
*Título:
*Descripción:
*Copyright: Copyright (c) 2007
*Empresa:
* @author sin atribuir
* @version 1.0
*/
public class Marco extends JFrame {
Catalogo Catalogo=new Catalogo();
Pedido pedido=new Pedido(); <-----------FALLA AHÍ
JPanel contentPane;
JTextField TXTUnidades1 = new JTextField();
JTextField TXTUnidades2 = new JTextField();
JTextField TXTUnidades3 = new JTextField();
JTextField TXTUnidades4 = new JTextField();
JButton BTTotal = new JButton();
JTextField BTPreciofinal = new JTextField();
JTextArea TXTUnidades = new JTextArea();
JTextArea TXTPreciofinal = new JTextArea();
JTextArea TXTAccesorios = new JTextArea();
JTextArea TXTConvertidorusb = new JTextArea();
JTextArea TXTHub4puertos = new JTextArea();
JTextArea TXTMemoriausb2gigas = new JTextArea();
JLabel ETIquetaimagen = new JLabel();
JTextArea TXTTarjetapci = new JTextArea();
JTextArea TXTPrecioconvertidor = new JTextArea();
JTextArea TXTPreciohub = new JTextArea();
JTextArea TXTPreciomemoria = new JTextArea();
JTextArea TXTPreciotarjetapci = new JTextArea();
//Construir el marco
public Marco() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Inicialización de componentes
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
TXTUnidades1.setEnabled(true);
TXTUnidades1.setEditable(true);
TXTUnidades1.setText("0");
TXTUnidades1.setBounds(new Rectangle(332, 117, 25, 20));
TXTUnidades1.addFocusListener(new Marco_TXTUnidades1_focusAdapter(this));
contentPane.setLayout(null);
this.setSize(new Dimension(400, 300));
this.setTitle("Título del marco");
TXTUnidades2.setText("0");
TXTUnidades2.setBounds(new Rectangle(331, 145, 25, 20));
TXTUnidades3.setText("0");
TXTUnidades3.setBounds(new Rectangle(332, 172, 25, 20));
TXTUnidades4.setText("0");
TXTUnidades4.setBounds(new Rectangle(333, 200, 25, 20));
BTTotal.setBounds(new Rectangle(224, 254, 70, 27));
BTTotal.setText("Total");
BTTotal.addActionListener(new Marco_BTTotal_actionAdapter(this));
BTPreciofinal.setEditable(false);
BTPreciofinal.setText("");
BTPreciofinal.setBounds(new Rectangle(302, 256, 66, 25));
contentPane.setBackground(Color.white);
TXTUnidades.setFont(new java.awt.Font("Arial", 1, 12));
TXTUnidades.setText("Unidades");
TXTUnidades.setBounds(new Rectangle(315, 73, 70, 20));
TXTPreciofinal.setFont(new java.awt.Font("Arial", 1, 12));
TXTPreciofinal.setText("Precio Final");
TXTPreciofinal.setBounds(new Rectangle(237, 73, 70, 17));
TXTAccesorios.setFont(new java.awt.Font("Arial", 1, 19));
TXTAccesorios.setForeground(new Color(255, 0, 90));
TXTAccesorios.setCaretColor(Color.black);
TXTAccesorios.setText("PC Accesorios");
TXTAccesorios.setBounds(new Rectangle(155, 22, 231, 37));
TXTConvertidorusb.setFont(new java.awt.Font("Arial", 1, 12));
TXTConvertidorusb.setText("Convertidor USB Bluetooth:");
TXTConvertidorusb.setBounds(new Rectangle(35, 118, 161, 19));
TXTHub4puertos.setBounds(new Rectangle(37, 145, 161, 19));
TXTHub4puertos.setText("Hub 4 puertos USB:");
TXTHub4puertos.setFont(new java.awt.Font("Arial", 1, 12));
TXTMemoriausb2gigas.setFont(new java.awt.Font("Arial", 1, 12));
TXTMemoriausb2gigas.setText("Memoria USB 2Gb:");
TXTMemoriausb2gigas.setBounds(new Rectangle(36, 174, 161, 19));
ETIquetaimagen.setBounds(new Rectangle(6, 9, 117, 94));
ETIquetaimagen.setIcon(new ImageIcon("imagenes/logotipo.jpg"));
TXTTarjetapci.setBounds(new Rectangle(37, 204, 175, 19));
TXTTarjetapci.setText("Tarjeta PCI TV / Radio / Video:");
TXTTarjetapci.setFont(new java.awt.Font("Arial", 1, 12));
TXTPrecioconvertidor.setFont(new java.awt.Font("Arial", 1, 12));
TXTPrecioconvertidor.setText("15€");
TXTPrecioconvertidor.setBounds(new Rectangle(257, 117, 48, 19));
TXTPreciohub.setBounds(new Rectangle(253, 141, 48, 19));
TXTPreciohub.setText("13,50€");
TXTPreciohub.setFont(new java.awt.Font("Arial", 1, 12));
TXTPreciomemoria.setBounds(new Rectangle(251, 173, 48, 19));
TXTPreciomemoria.setText("40€");
TXTPreciomemoria.setFont(new java.awt.Font("Arial", 1, 12));
TXTPreciotarjetapci.setBounds(new Rectangle(252, 197, 48, 19));
TXTPreciotarjetapci.setText("50,75€");
TXTPreciotarjetapci.setFont(new java.awt.Font("Arial", 1, 12));
TXTPreciotarjetapci.setAlignmentX((float) 0.5);
contentPane.add(BTTotal, null);
contentPane.add(BTPreciofinal, null);
contentPane.add(TXTPreciofinal, null);
contentPane.add(TXTUnidades, null);
contentPane.add(ETIquetaimagen, null);
contentPane.add(TXTAccesorios, null);
contentPane.add(TXTUnidades4, null);
contentPane.add(TXTUnidades3, null);
contentPane.add(TXTUnidades2, null);
contentPane.add(TXTUnidades1, null);
contentPane.add(TXTConvertidorusb, null);
contentPane.add(TXTHub4puertos, null);
contentPane.add(TXTMemoriausb2gigas, null);
contentPane.add(TXTTarjetapci, null);
contentPane.add(TXTPrecioconvertidor, null);
contentPane.add(TXTPreciohub, null);
contentPane.add(TXTPreciotarjetapci, null);
contentPane.add(TXTPreciomemoria, null);
}
//Modificado para poder salir cuando se cierra la ventana
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void BTTotal_actionPerformed(ActionEvent e) {
int n=Integer.parseInt(TXTUnidades1.getText());
pedido.setConvertidores(n);
n=Integer.parseInt(TXTUnidades2.getText());
pedido.setHubs(n);
float BTTotal=pedido.calcularTotalSinIva();
BTPreciofinal.setText(String.valueOf(BTTotal));
}
void TXTUnidades1_focusLost(FocusEvent e) {
int unidades=Integer.parseInt(TXTUnidades1.getText());
if (pedido.unidadesNegativas(unidades));
TXTUnidades1.setText("0");
}
}
class Marco_BTTotal_actionAdapter implements java.awt.event.ActionListener {
Marco adaptee;
Marco_BTTotal_actionAdapter(Marco adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.BTTotal_actionPerformed(e);
}
}
class Marco_TXTUnidades1_focusAdapter extends java.awt.event.FocusAdapter {
Marco adaptee;
Marco_TXTUnidades1_focusAdapter(Marco adaptee) {
this.adaptee = adaptee;
}
public void focusLost(FocusEvent e) {
adaptee.TXTUnidades1_focusLost(e);
}
}
y si quito la linea esa del error me da otros errores abajo cuando nombre pedido. Adjunta si eso el código en un rar y miro a ver si saco por que esllibertariu escribió:eso es lo que tengo hecho pero da errory si quito la linea esa del error me da otros errores abajo cuando nombre pedido.
Ok, mejor, que en este pc solo tengo el JBuilderllibertariu escribió:lo tengo en un proyecto creado con jbuilder ahora te lo paso.
llibertariu escribió:bueno aqui esta , gracias
te vas a tirar de los pelos
para cosas pequeñas es mejor hacerlo a pelo
muchas gracias tio yo ya estaba to coiendome el tarro.No sabia que hubiera un hilo oficial , ahora me paso por alli.