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