Java - Cola doblemente ligada con Java Swing

 
Vista:

Cola doblemente ligada con Java Swing

Publicado por Merol (1 intervención) el 11/12/2005 22:45:16
Primero que nada un saludo a toda la comunidad de el hacker. Mi problema es el siguiente:
Necesito obtener el codigo fuente o que alguien me ayude a adaptar el siguiente codigo de una cola doblemente ligada pero con Java Swing. Espero que alguien pueda darme una mano porque en verdad me urge terminarlo. Muchas gracias aqui dejo el codigo:

Nota: el programa ColaDobleSwing.java necesita para correr la clase ColaDoble.class

import javax.swing.*;

******* AQUI EMPIEZA COLADOBLESWING.JAVA*******

import java.awt.*;
import java.awt.event.*;
import java.io.*;


public class ColaDobleSwing extends JPanel implements ActionListener{

private JFrame frame;
private JTextField marca, modelo, precio;
private JLabel marca1, modelo1, precio1;
private JButton agregarporultimo,agregarporprimis,retirarprimero,retirarultimo,edoact;
private GridBagLayout gbl;
private GridBagConstraints gbc;
private static String marcaString;
private static int modeloint, op;
private static double preciodou;
private JOptionPane pane;
ColaDoble cs= new ColaDoble();

/**
*En este constructor, se crea y se despliega la ventana que<br>
*recibira los datos .
*/
public ColaDobleSwing(){

frame= new JFrame("ColaDoble");
marca= new JTextField(12);
modelo= new JTextField(12);
precio= new JTextField(6);
marca1= new JLabel("Marca:");
modelo1= new JLabel("Modelo:");
precio1=new JLabel("Precio: ");
agregarporprimis= new JButton("Agregar al principio");
agregarporultimo= new JButton("Agregar al final");
retirarultimo=new JButton("Eliminar ultimo");
retirarprimero=new JButton("Eliminar primero");
edoact=new JButton("Estado Actual");
gbl= new GridBagLayout();
gbc = new GridBagConstraints();

agregarporultimo.addActionListener(this);
agregarporultimo.setActionCommand("agregarporultimo");
agregarporprimis.addActionListener(this);
agregarporprimis.setActionCommand("agregarporprimis");
retirarprimero.addActionListener(this);
retirarprimero.setActionCommand("retirarprimero");
retirarultimo.addActionListener(this);
retirarultimo.setActionCommand("retirarultimo");
edoact.addActionListener(this);
edoact.setActionCommand("edoact");
setLayout(gbl);

gbc.gridx=1; gbc.gridy=1; gbc.anchor=gbc.EAST;
gbc.insets= new Insets(0,0,5,10);
gbl.setConstraints(marca1,gbc);
add(marca1);
gbc.gridx=2; gbc.gridy=1; gbc.anchor= gbc.WEST;
gbl.setConstraints(marca,gbc);
add(marca);

gbc.gridx=1; gbc.gridy=2; gbc.anchor= gbc.SOUTHEAST;
gbl.setConstraints(modelo1,gbc);
add(modelo1);
gbc.gridx=2; gbc.gridy=2; gbc.anchor= gbc.WEST;
gbc.insets= new Insets(10,0,0,0);
gbl.setConstraints(modelo,gbc);
add(modelo);

gbc.gridx=1; gbc.gridy=3; gbc.anchor= gbc.SOUTH;
gbl.setConstraints(precio1,gbc);
add(precio1);
gbc.gridx=2; gbc.gridy=3; gbc.anchor= gbc.WEST;
gbc.insets= new Insets(10,0,0,0);
gbl.setConstraints(precio,gbc);
add(precio);

gbc.gridx=1; gbc.gridy=4; gbc.anchor=gbc.EAST;
/*gbc.weighty=0.1;*/ gbc.insets= new Insets(30,0,10,-20);
gbl.setConstraints(agregarporultimo,gbc);
add(agregarporultimo);

gbc.gridx=1; gbc.gridy=4; gbc.anchor=gbc.EAST;
/*gbc.weighty=0.1;*/ gbc.insets= new Insets(90,0,10,-20);
gbl.setConstraints(agregarporprimis,gbc);
add(agregarporprimis);

gbc.gridx=2; gbc.gridy=4; gbc.anchor=gbc.CENTER;
gbc.insets= new Insets(30,5,10,-10);
gbl.setConstraints(retirarprimero,gbc);
add(retirarprimero);

gbc.gridx=2; gbc.gridy=4; gbc.anchor=gbc.CENTER;
gbc.insets= new Insets(90,5,10,-10);
gbl.setConstraints(retirarultimo,gbc);
add(retirarultimo);


gbc.gridx=3; gbc.gridy=4; gbc.anchor=gbc.WEST;
gbc.insets= new Insets(30,0,10,-10);
gbl.setConstraints(edoact,gbc);
add(edoact);


frame.getContentPane().add(this);
frame.pack();
frame.setSize(600,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}


public void actionPerformed(ActionEvent ae){

String command= ae.getActionCommand();

marcaString=marca.getText();

try{

modeloint=Integer.parseInt(modelo.getText());
preciodou= Double.parseDouble(precio.getText());
}catch(NumberFormatException nfe){
System.out.println(nfe);
}
if(command=="agregarporultimo"){
if(marcaString.equals("")){
JOptionPane.showMessageDialog(frame,"Debe teclear un nombre de usuario");
return;
}else{
cs.agregarporultimo(new Auto(marcaString,modeloint,preciodou));
//aqui hay q meterle q los Jtext se actualicen y se pongan en ""
}

}


if(command=="agregarporprimis"){
if(marcaString.equals("")){
JOptionPane.showMessageDialog(frame,"Debe teclear un nombre de usuario");
return;
}else{
cs.agregarporprimis(new Auto(marcaString,modeloint,preciodou));
//aqui hay q meterle q los Jtext se actualicen y se pongan en ""
}

}

if(command=="edoact"){
cs.EstadoActual();
}

if(command=="retirarprimero"){
op=JOptionPane.showConfirmDialog(frame, "¿Esta seguro?","Pregunta", pane.YES_NO_OPTION);
if(op == JOptionPane.YES_OPTION){ cs.retirarprimero();}
}

if(command=="retirarultimo"){
op=JOptionPane.showConfirmDialog(frame, "¿Esta seguro?","Pregunta", pane.YES_NO_OPTION);
if(op == JOptionPane.YES_OPTION){ cs.retirarultimo();}
}




}

public static void main(String [] args){
new ColaDobleSwing();

}

}

*********ESTE ES COLADOBLE.JAVA QUE ES EN EL QUE SE BASA EL ANTERIOR PARA FUNCIONAR********

import javax.swing.*;

class Auto{
String marca;
int modelo;
double precio;

public Auto(String marca,int modelo,double precio) {
this.marca=marca;
this.modelo=modelo;
this.precio=precio;
}

public String toString() {
return "Marca = " + marca + "\nModelo = " + modelo + "\nPrecio = " + precio;
}
}

public class ColaDoble {
Auto []CS;
int primero, ultimo, tamaño;

public ColaDoble(){
tamaño = 50;
CS = new Auto[tamaño];
primero = 0;
ultimo = 0;
}

public ColaDoble ( int tam ) {
tamaño = tam;
CS = new Auto[tamaño];
primero = 0;
ultimo = 0;
}


public void agregarporultimo( Auto a ) {
if (ultimo == CS.length - 1){
System.out.println("Cola Llena");
} else {

CS[ultimo++]=a;
}
}

public void agregarporprimis( Auto a ) {
if (primero == CS.length -1){
System.out.println("Cola Llena");
} else {

CS[primero--]=a;
}
}

public Auto retirarprimero() {
Auto a=null;
if ( ( primero == 0) & ( ultimo == 0 ) ) {
System.out.println("Cola vacia");
} else {
if(primero==ultimo){
System.out.println("Cola vacia");
primero=0;
ultimo=0;
}else{
a = CS[primero++];
}
}
return a;
}

public Auto retirarultimo() {
Auto a=null;
if ( ( primero == 0) & ( ultimo == 0 ) ) {
System.out.println("Cola vacia");
} else {
if(primero==ultimo){
System.out.println("Cola vacia");
primero=0;
ultimo=0;
}else{
a = CS[ultimo--];
}
}
return a;
}

public void EstadoActual() {
if ( (primero == 0 ) && ( ultimo == 0 ) )
JOptionPane.showMessageDialog( null,"Cola vacia","COla de Cadena",JOptionPane.PLAIN_MESSAGE);

else {
int j = primero;
String salida = new String ("Objetos en la Cola");
for(;j!=ultimo;j++){
salida+="\n"+CS[j].toString()+" ";
}
/*do {
salida += "\n" + CS[j].toString();
j++;
} while ( j <= CS.length - 1);*/
JOptionPane.showMessageDialog( null,salida,"Estado Actual",JOptionPane.PLAIN_MESSAGE);
}
}

}


Creo que el problema esta en el programa ColaDoble.java pero es solo una especulacion espero me pueda alguien ayudar por favor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Cola doblemente ligada con Java Swing

Publicado por Yamil Bracho (2315 intervenciones) el 12/12/2005 14:15:54
No he probado el codigo pero si dices que un programa se llama ColaDoble y tiene dentro otra clase publica que se llama Auto, creo que alli esta problema. Separa esta clase en dos y lleva la clase Auto a su correspondiente fichero Auto.java
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar