Compare commits
5 Commits
94828e3c7d
...
90bca1959e
Author | SHA1 | Date |
---|---|---|
David | 90bca1959e | |
David | d8eb643b72 | |
David | 9b61ac6a39 | |
David | e58ddbca6b | |
David | 2e26e90c9a |
|
@ -0,0 +1,45 @@
|
||||||
|
public class Asiento {
|
||||||
|
private int x;
|
||||||
|
private int y;
|
||||||
|
private String zona;
|
||||||
|
private boolean disponibilidad;
|
||||||
|
|
||||||
|
public Asiento(int x, int y, String zona, boolean disponibilidad) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.zona = zona;
|
||||||
|
this.disponibilidad = disponibilidad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getX() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setX(int x) {
|
||||||
|
this.x = x;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getY() {
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setY(int y) {
|
||||||
|
this.y = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getZona() {
|
||||||
|
return zona;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZona(String zona) {
|
||||||
|
this.zona = zona;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDisponibilidad() {
|
||||||
|
return disponibilidad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisponibilidad(boolean disponibilidad) {
|
||||||
|
this.disponibilidad = disponibilidad;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
import javax.swing.event.ChangeEvent;
|
||||||
|
import javax.swing.event.ChangeListener;
|
||||||
|
|
||||||
|
public class GestiónBotónSeleccionarAsiento implements ChangeListener {
|
||||||
|
private Asiento asiento;
|
||||||
|
private SeleccionarAsientoV ventana;
|
||||||
|
public GestiónBotónSeleccionarAsiento(Asiento parAsiento, SeleccionarAsientoV parVentana) {
|
||||||
|
asiento = parAsiento;
|
||||||
|
ventana = parVentana;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stateChanged(ChangeEvent e) {
|
||||||
|
System.out.println("i:" + asiento.getX() + " j:" + asiento.getY());
|
||||||
|
ventana.seleccionarAsientos(asiento);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,135 @@
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
public class SeleccionarAsientoV extends JFrame {
|
||||||
|
|
||||||
|
private JPanel pSuperior = new JPanel(new FlowLayout(FlowLayout.LEFT));
|
||||||
|
private JButton bRegresar = new JButton("Regresar.");
|
||||||
|
private int noAsientosSeleccionados = 0;
|
||||||
|
private JLabel lSeleccionar = new JLabel("Asientos seleccionados: " + noAsientosSeleccionados);
|
||||||
|
|
||||||
|
private JPanel pInferior = new JPanel(new FlowLayout(FlowLayout.CENTER));
|
||||||
|
private int total = 0;
|
||||||
|
private JLabel lTotal = new JLabel("Total: " + total + "$");
|
||||||
|
private JButton bSeleccionar = new JButton("Seleccionar");
|
||||||
|
|
||||||
|
private JPanel pSala = new JPanel(new GridBagLayout());
|
||||||
|
|
||||||
|
private JToggleButton [][]bAsientos;
|
||||||
|
|
||||||
|
private Asiento [][] asientos;
|
||||||
|
|
||||||
|
|
||||||
|
public SeleccionarAsientoV(Asiento [][] parAsientos) throws HeadlessException {
|
||||||
|
super("Seleccionar Asiento");
|
||||||
|
this.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
asientos = parAsientos;
|
||||||
|
|
||||||
|
agregarComponentes();
|
||||||
|
crearCeldas(7,10);
|
||||||
|
iniciar();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void agregarComponentes(){
|
||||||
|
pSuperior.add(this.bRegresar);
|
||||||
|
pSuperior.add(lSeleccionar);
|
||||||
|
|
||||||
|
pInferior.add(this.lTotal);
|
||||||
|
pInferior.add(this.bSeleccionar);
|
||||||
|
|
||||||
|
this.add(pSuperior,BorderLayout.NORTH);
|
||||||
|
this.add(pInferior,BorderLayout.SOUTH);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void crearCeldas(int parX, int parY){
|
||||||
|
|
||||||
|
GridBagConstraints con = new GridBagConstraints();
|
||||||
|
|
||||||
|
bAsientos = new JToggleButton[parX][parY];
|
||||||
|
|
||||||
|
String zona = "";
|
||||||
|
|
||||||
|
JToggleButton tfAux;
|
||||||
|
for(int i = 0; i < parX; i++){
|
||||||
|
for(int j = 0; j < parY; j ++){
|
||||||
|
tfAux = new JToggleButton("");
|
||||||
|
if( ( (j >= 2) && (j <= 7) ) && ( (i >= 2) && (i <= 6) ) ){
|
||||||
|
tfAux.setBackground(Color.PINK);
|
||||||
|
zona = "A";
|
||||||
|
tfAux.setText("200$");
|
||||||
|
}
|
||||||
|
if( ((i == 1) && (j > 0) && (j < 9)) || ((j == 1) && (i > 0)) || ((j == 8) && (i > 0)) ){
|
||||||
|
tfAux.setBackground(Color.ORANGE);
|
||||||
|
zona = "B";
|
||||||
|
tfAux.setText("130$");
|
||||||
|
}
|
||||||
|
if( (i == 0) || (j == 0) || (j == 9)){
|
||||||
|
tfAux.setBackground(Color.YELLOW);
|
||||||
|
zona = "C";
|
||||||
|
tfAux.setText("65$");
|
||||||
|
}
|
||||||
|
if(asientos[i][j].isDisponibilidad()){
|
||||||
|
tfAux.setBackground(Color.DARK_GRAY);
|
||||||
|
tfAux.setText("ND");
|
||||||
|
}
|
||||||
|
tfAux.setSize(100,100);
|
||||||
|
//tfAux.addKeyListener(new GestiónTecladoEscribirCaracter(this,i,j));
|
||||||
|
tfAux.addChangeListener(new GestiónBotónSeleccionarAsiento(new Asiento(i,j,zona,asientos[i][j].isDisponibilidad()),this));
|
||||||
|
con.gridx = j;
|
||||||
|
con.gridy = i;
|
||||||
|
con.gridheight = 1;
|
||||||
|
con.gridwidth = 1;
|
||||||
|
System.out.println(i+" "+j+ " "+bAsientos.length);
|
||||||
|
bAsientos[i][j] = tfAux;
|
||||||
|
pSala.add(bAsientos[i][j],con);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pSala.setBounds(0,0,700,700);
|
||||||
|
this.add(pSala,BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void seleccionarAsientos(Asiento asiento){
|
||||||
|
int precio = 0;
|
||||||
|
|
||||||
|
int x = asiento.getX(), y = asiento.getY();
|
||||||
|
String zona = asiento.getZona();
|
||||||
|
|
||||||
|
switch (zona){
|
||||||
|
case "A":
|
||||||
|
precio = 200;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "B":
|
||||||
|
precio = 130;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "C":
|
||||||
|
precio = 65;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!bAsientos[x][y].getText().equals("ND")) {
|
||||||
|
if (bAsientos[x][y].isSelected()) {
|
||||||
|
noAsientosSeleccionados++;
|
||||||
|
total += precio;
|
||||||
|
} else {
|
||||||
|
noAsientosSeleccionados--;
|
||||||
|
total -= precio;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
bAsientos[x][y].setSelected(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
lSeleccionar.setText("Asientos seleccionados: " + noAsientosSeleccionados);
|
||||||
|
lTotal.setText("Total: " + total + "$");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void iniciar(){
|
||||||
|
this.setBounds(100,100,700,700);
|
||||||
|
//this.setResizable(false);
|
||||||
|
this.setVisible(true);
|
||||||
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue