Ho sviluppato la seguente classe al fine di produrre una scelta tra 2 alternative di percorsi
Siccome i punti del percorso sono tanti, vanno al di là del limite della finestra
Come posso fare in modo che a prescindere dal numero di punti elencati la finestra generata diventi di quella larghezza senza che alcuni punti spariscano?codice:package view; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.SpringLayout; import controller.ReservationController; import model.Percorso; import model.Reservation; public class PathChoicePanel extends JPanel implements ActionListener{ ButtonGroup radioButtonGroup; JRadioButton percorsoBreve; JRadioButton percorsoVeloce; JButton button; MyFrame myFrame; Reservation reservation; Percorso percorsoPiuBreve; Percorso percorsoPiuVeloce; public PathChoicePanel(MyFrame myFrame){ super(); this.myFrame=myFrame; radioButtonGroup = new ButtonGroup(); percorsoBreve = new JRadioButton("percorso più breve"); percorsoVeloce = new JRadioButton("percorso più veloce"); radioButtonGroup.add(percorsoBreve); radioButtonGroup.add(percorsoVeloce); button = new JButton("prenota"); button.addActionListener(this); SpringLayout layout = new SpringLayout(); setLayout(layout); add(percorsoBreve); add(percorsoVeloce); add(button); layout.putConstraint(SpringLayout.NORTH, percorsoBreve, 50, SpringLayout.NORTH, this); layout.putConstraint(SpringLayout.WEST, percorsoBreve, 35, SpringLayout.WEST, this); layout.putConstraint(SpringLayout.NORTH, percorsoVeloce, 50, SpringLayout.NORTH, percorsoBreve); layout.putConstraint(SpringLayout.WEST, percorsoVeloce, 35, SpringLayout.WEST, this); layout.putConstraint(SpringLayout.NORTH, button, 50, SpringLayout.NORTH, percorsoVeloce); layout.putConstraint(SpringLayout.WEST, button, 35, SpringLayout.WEST, this); } public void init(Reservation reservation, Percorso percorsoPiuBreve, Percorso percorsoPiuVeloce){ this.reservation=reservation; this.percorsoPiuBreve=percorsoPiuBreve; this.percorsoPiuVeloce=percorsoPiuVeloce; this.percorsoBreve.setText(this.percorsoBreve.getText()+": "+percorsoPiuBreve.toString()+" costo: "+percorsoPiuBreve.getCosto()); this.percorsoVeloce.setText(this.percorsoVeloce.getText()+": "+percorsoPiuVeloce.toString()+" costo: "+percorsoPiuVeloce.getCosto()); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource().equals(button)){ if(!percorsoBreve.isSelected() && !percorsoVeloce.isSelected()){ JOptionPane.showMessageDialog(this, "seleziona un percorso", "Error", JOptionPane.ERROR_MESSAGE); }else{ if(percorsoBreve.isSelected()){ reservation.setPercorso(percorsoPiuBreve); reservation.getTaxi().effettuaCorsa(percorsoPiuBreve); }else{ reservation.getTaxi().effettuaCorsa(percorsoPiuVeloce); reservation.setPercorso(percorsoPiuVeloce); } ReservationController.getInstance().addReservation(reservation); myFrame.showReservationDetailPanel(reservation); } } } }

Rispondi quotando
