Larghezza Interfaccia Grafica

di il
1 risposte

Larghezza Interfaccia Grafica

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
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);
			}
		}
	}

}

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?

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte