Salve ragazzi, mi è stato dato un compito per scuola, ovvero simulare la gestione di un teatro tramite la GUI, il teatro deve essere diviso in 4 settori, su cui sarà possibile prenotare un posto a sedere, quindi in dovrà essere creato un file sul quale sono memorizzate tutte le informazioni del posto a sedere prenotato, es prezzo, settore di appartenenza ecc..., inoltre i minori di 23 anni hanno uno sconto del 25%, e i posti a sedere in platea subiranno un rincaro del 20%.
Ho fatto tutta la parte grafica, ma ora sono davanti a un problema che proprio non riesco a superare; non so come fare a gestire tutta la parte di algoritmo con gli ActionListener, passaggi di parametri ecc...
Classe Window:
classe Teatro:codice:import java.awt.Button;import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.*; import java.awt.event.*; import java.awt.Component; import javax.swing.*; public class Window { public static final int SECTOR_ONE_SEAT = 20; public static final int SECTOR_TWO_SEAT = 15; public static final int SECTOR_THREE_SEAT = 10; public static final int SECTOR_FOUR_SEAT = 5; public static final boolean STATE = false; public static final int SECTOR_ONE = 0; public static final int SECTOR_TWO = 1; public static final int SECTOR_THREE = 2; public static final int SECTOR_FOUR = 3; private static final Seat[] Seat = null; private static Window instance; private Window() {} public static Window getInstance() { if (instance == null) instance = new Window(); return instance; } /////////////////////////////////////////////////////// public Frame getWindow() { Frame frame = new Frame("Gestione Teatro"); frame.setLayout(new GridLayout(5,1)); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { System.exit(0); } }); /////////////////////////////////////////////////// Panel sectorOnePanel = sectorOne(); Panel sectorTwoPanel = sectorTwo(); Panel sectorThreePanel = sectorThree(); Panel sectorFourPanel = sectorFour(); Panel sectorFivePanel = sectorFive(); frame.add(sectorOnePanel); frame.add(sectorTwoPanel); frame.add(sectorThreePanel); frame.add(sectorFourPanel); frame.add(sectorFivePanel); frame.setSize(500, 500); frame.setLocation(200, 200); frame.setVisible(true); return frame; } private Panel sectorOne() { Panel panel = new Panel(new FlowLayout()); Seat[] seats = initializeSeats(SECTOR_ONE_SEAT, SECTOR_ONE,STATE); for ( int i=0; i<SECTOR_ONE_SEAT;i++) { final Button button = seats[i].getButton(); button.setBackground(Color.GREEN); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { int cnt=0; cnt++; Seat[] seats = initializeSeats(SECTOR_ONE_SEAT, SECTOR_ONE,STATE); button.setBackground(Color.RED); for(int j=0;j<cnt;j++) { seats[j].setState(true); seats[j].setSector(SECTOR_ONE); } } }); panel.add( button ); } return panel; } private Panel sectorTwo() { Panel panel = new Panel(new FlowLayout()); Seat[] seats = initializeSeats(SECTOR_TWO_SEAT, SECTOR_TWO,STATE); for (final Seat seat : seats) { final Button button = seat.getButton(); button.setBackground(Color.GREEN); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { int cnt=0; button.setBackground(Color.RED); cnt++; seat.setState(true); seat.setSector(SECTOR_TWO); } }); panel.add( button ); } return panel; } private Panel sectorThree() { Panel panel = new Panel(new FlowLayout()); Seat[] seats = initializeSeats(SECTOR_THREE_SEAT, SECTOR_THREE,STATE); for (final Seat seat : seats) { final Button button = seat.getButton(); button.setBackground(Color.GREEN); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { int cnt=0; button.setBackground(Color.RED); cnt++; seat.setState(true); seat.setSector(SECTOR_THREE); } }); panel.add( button ); } return panel; } private Panel sectorFour() { Panel panel = new Panel(new FlowLayout()); Seat[] seats = initializeSeats(SECTOR_FOUR_SEAT, SECTOR_FOUR,STATE); int z=0; for (final Seat seat : seats) { final Button button = seat.getButton(); button.setBackground(Color.GREEN); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { int cnt=0; button.setBackground(Color.RED); cnt++; seat.setState(true); seat.setSector(SECTOR_FOUR); } }); panel.add( button ); } return panel; } private Panel sectorFive() { Panel panel = new Panel(new FlowLayout()); JRadioButton radio1 = new JRadioButton("Meno di 23 anni"); JRadioButton radio2 = new JRadioButton("Più di 23 anni"); Label age2 = new Label("Età"); panel.add(age2); panel.add(radio1); panel.add(radio2); radio1.addActionListener(new Minore_23()); return panel; } private Seat[] initializeSeats(int numberOfSeats, int sector, boolean state) { Seat[] seats = new Seat[numberOfSeats]; for(int column = 0; column < numberOfSeats; column++) { Button button = new Button("Seat " + (column + 1)); // Poichè l'indice parte da 0 //seats[column] = new Seat(); seats[column] = new Seat(button, sector, state, column); } return seats; } }
classe Posto:codice:import java.awt.*;import java.awt.event.*; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; class Teatro { private static Window window; private static Frame frame; private static Frame frame2; public static void main(String[] args) { window = Window.getInstance(); frame = window.getWindow(); } } class Minore_23 implements ActionListener { public void actionPerformed(ActionEvent e) { InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); } }
codice:import java.awt.Button; public class Seat { private Button button; private int sector; private boolean state; private int column; public Seat(Button button, int sector, boolean state, int column) { super(); this.button = button; this.sector = sector; this.state = state; //this.column = column; } public boolean isState() { return state; } public void setState(boolean state) { this.state = state; } public Button getButton() { return button; } public void setButton(Button button) { this.button = button; } public int getColumn() { return column; } public void setColumn(int column) { this.column = column; } public int getSector() { return sector; } public void setSector(int sector) { this.sector = sector; } }

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando