Skip to content
This repository has been archived by the owner on Aug 9, 2024. It is now read-only.

Commit

Permalink
Terminar de dibujar una interfaz sencilla para el laboratorio.
Browse files Browse the repository at this point in the history
  • Loading branch information
Laifsyn committed May 22, 2024
1 parent 28540f4 commit 23d8acd
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 13 deletions.
23 changes: 14 additions & 9 deletions src/main/java/com/utp/clsEstructuraDatos/Estructuras/Pila.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,17 @@

public class Pila<T> {
public static void main(String[] args) {
Pila<Integer> pila = new Pila<>(5);
Pila<Integer> pila = new Pila<>(10);
pila.insertar(10);
pila.insertar(10);
pila.insertar(1);
pila.insertar(2);
pila.insertar(3);
pila.insertar(4);
pila.insertar(5);
pila.insertar(-415);
pila.insertar(1104);
pila.insertar(110);
pila.insertar(141);
pila.insertar(4142);
pila.insertar(11242);
pila.insertar(1414214);
System.out.println("Cima: " + pila.getCima());
System.out.println(pila.imprimirPila());
pila.quitarCima();
Expand All @@ -18,9 +23,9 @@ public static void main(String[] args) {
pila.insertar(6);
System.out.println("Insertar 6");
System.out.println(pila.imprimirPila());
pila.limpiarPila();
System.out.println("Limpiar pila");
System.out.println(pila.imprimirPila());
// pila.limpiarPila();
// System.out.println("Limpiar pila");
// System.out.println(pila.imprimirPila());
}

private int cima = 0;
Expand Down Expand Up @@ -163,7 +168,7 @@ public String toString() {
int ancho_columna = 0;
for (String[] fila : this.table) {
String celda = fila[indice_columna];
if (celda.length() > ancho_columna) {
if (celda.length() >= ancho_columna) {
// +1 para el caracter que encierra la celda
ancho_columna = celda.length() + 1;
columns_widths[indice_columna] = ancho_columna;
Expand Down
25 changes: 22 additions & 3 deletions src/main/java/com/utp/clsEstructuraDatos/laboratorio_1/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.TextArea;
import java.util.ArrayList;

import com.utp.clsEstructuraDatos.Estructuras.Pila;
Expand All @@ -20,12 +24,20 @@ class App {
final String laboratorio_1 = "Laboratorio 1";
Pila<Integer> pila;

TextArea textArea = new TextArea();

void start() {
JFrame frame = new JFrame(laboratorio_1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setLayout(new GridBagLayout());
add_button_commands(frame);
GridBagConstraints c = new GridBagConstraints();
c.gridy = 2;
c.gridwidth = 8;
this.textArea.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 14));
this.textArea.setEditable(false);
frame.add(this.textArea, c);
frame.setVisible(true);
}

Expand Down Expand Up @@ -105,6 +117,7 @@ void event_manager(Command cmd) {
}
this.pila = new Pila<Integer>(cs.value());

this.create_stack.setText("Reemplazar Pila");
// habilitar botones que solo pueden ser llamados con una pila instanciada.
this.push.setEnabled(true);
this.pop.setEnabled(true);
Expand Down Expand Up @@ -134,11 +147,13 @@ void event_manager(Command cmd) {
laboratorio_1, JOptionPane.INFORMATION_MESSAGE);
}
case Command.isEmpty() -> {
final String msg = this.pila.pilaVacia() ? "La pila esta vacia" : "La pila no esta vacia";
final String msg = (this.pila.pilaVacia() ? "La pila esta vacia" : "La pila no esta vacia")
+ String.format(". Tiene %d elementos", this.pila.getCima());
JOptionPane.showMessageDialog(null, msg, laboratorio_1, JOptionPane.INFORMATION_MESSAGE);
}
case Command.isFull() -> {
final String msg = this.pila.pilaLLena() ? "La pila esta llena" : "La pila no esta llena";
final String msg = (this.pila.pilaLLena() ? "La pila esta llena" : "La pila no esta llena")
+ String.format(". Le quedan %d espacios", this.pila.getCapacidad() - this.pila.getCima());
JOptionPane.showMessageDialog(null, msg, laboratorio_1, JOptionPane.INFORMATION_MESSAGE);
}
case Command.Clear() -> {
Expand All @@ -155,10 +170,14 @@ void event_manager(Command cmd) {
laboratorio_1, JOptionPane.INFORMATION_MESSAGE);
}
case Command.DisplayStack() -> {
JOptionPane.showMessageDialog(null, this.pila.imprimirPila(), laboratorio_1,
TextArea textArea = new TextArea(this.pila.imprimirPila());
textArea.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 14));
textArea.setEditable(false);
JOptionPane.showMessageDialog(null, textArea, laboratorio_1,
JOptionPane.INFORMATION_MESSAGE);
}
}
this.textArea.setText(this.pila.imprimirPila());
}

void error_dialogue(String msg) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public String toString() {
int ancho_columna = 0;
for (String[] fila : this.table) {
String celda = fila[indice_columna];
if (celda.length() > ancho_columna) {
if (celda.length() >= ancho_columna) {
// +1 para el caracter que encierra la celda
ancho_columna = celda.length() + 1;
columns_widths[indice_columna] = ancho_columna;
Expand Down

0 comments on commit 23d8acd

Please sign in to comment.