Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Non ho possibilità di provare quel codice, perché chiaramente mancano le classi Reservation, ecc.. Non si vede però nulla riguardo la creazione del frame (sarà ovviamente da un'altra parte ...) e vedo invece che hai usato SpringLayout, che personalmente te lo sconsiglio, perché insieme a GroupLayout è uno dei layout manager più complessi, contorti e difficili da usare.

    Il 99,9% delle interfacce grafiche Swing si può tranquillamente fare con gli altri layout manager più semplici di AWT/Swing.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    15
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Non ho possibilità di provare quel codice, perché chiaramente mancano le classi Reservation, ecc.. Non si vede però nulla riguardo la creazione del frame (sarà ovviamente da un'altra parte ...) e vedo invece che hai usato SpringLayout, che personalmente te lo sconsiglio, perché insieme a GroupLayout è uno dei layout manager più complessi, contorti e difficili da usare.

    Il 99,9% delle interfacce grafiche Swing si può tranquillamente fare con gli altri layout manager più semplici di AWT/Swing.
    Se non volessi fare troppo modifiche al codice per passare da un layout all'altro invece come posso fare?

    Le classi che dovrebbero servire sono
    Reservation
    codice:
    package model;
    
    
    public class Reservation {
    
    
    	User user;
    	String partenza;
    	String destinazione;
    	String modalita;
    	Taxi taxi;	
    	Percorso percorso;
    
    
    	
    	public Percorso getPercorso() {
    		return percorso;
    	}
    
    
    	public void setPercorso(Percorso percorso) {
    		this.percorso = percorso;
    	}
    
    
    	public Reservation(User user, String partenza, String destinazione, String modalita){
    		this.user=user;
    		this.partenza=partenza;
    		this.destinazione=destinazione;
    		this.modalita=modalita;
    	}
    	
    	public User getUser() {
    		return user;
    	}
    
    
    	public void setUser(User user) {
    		this.user = user;
    	}
    
    
    	public String getPartenza() {
    		return partenza;
    	}
    
    
    	public void setPartenza(String partenza) {
    		this.partenza = partenza;
    	}
    
    
    	public String getDestinazione() {
    		return destinazione;
    	}
    
    
    	public void setDestinazione(String destinazione) {
    		this.destinazione = destinazione;
    	}
    
    
    	public String getModalita() {
    		return modalita;
    	}
    
    
    	public void setModalita(String modalita) {
    		this.modalita = modalita;
    	}
    
    
    	public Taxi getTaxi() {
    		return taxi;
    	}
    
    
    	public void setTaxi(Taxi taxi) {
    		this.taxi = taxi;
    	}	
    }
    E la classe Percorso
    codice:
    package model;
    
    
    import main.Constants;
    
    
    public class Percorso {
    	int[] percorso;
    	float costo;
    	float tempo;
    	float distanza;
    	
    	
    	public Percorso(int[] percorso){
    		this.percorso=percorso;
    	}
    	
    	@Override
    	public String toString(){
    		String s="";
    		for (int i=0;i<percorso.length;i++){
    			s+=Constants.citta[percorso[i]]+"-";
    		}
    		s=s.substring(0,s.length()-1);
    		return s;
    	}
    	
    	public float getCosto() {
    		return costo;
    	}
    
    
    	public void setCosto(float costo) {
    		this.costo = costo;
    	}
    
    
    	public float getTempo() {
    		return tempo;
    	}
    
    
    	public void setTempo(float tempo) {
    		this.tempo = tempo;
    	}
    
    
    	public float getDistanza() {
    		return distanza;
    	}
    
    
    	public void setDistanza(float distanza) {
    		this.distanza = distanza;
    	}
    
    
    }

    E anche ReservationController

    codice:
    package controller;
    
    
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    
    
    import model.Reservation;
    
    
    public class ReservationController {
    
    
    	private static final String progettoDirPath = "database";
    	private static final String reservationFilePath = progettoDirPath+File.separator+"prenotazioni.txt";
    
    
    	File reservationFile;
    
    
    	private static ReservationController instance = null;
    	
    	public static synchronized ReservationController getInstance() {
    		if (instance == null) {
    			instance = new ReservationController();
    		}
    		return instance;
    	}
    	
    	public boolean checkPrenotazioniFile(){
    		reservationFile = new File(reservationFilePath);
    		boolean reservationFileOk = true;
    		if (!reservationFile.exists()){
    			try {
    				reservationFile.createNewFile();
    			} catch (IOException e) {
    				e.printStackTrace();
    				reservationFileOk = false;
    				return reservationFileOk;
    			}
    		}
    		return reservationFileOk;
    	}
    	
    	public boolean addReservation(Reservation reservation){
    		boolean esito=true;
    		BufferedWriter output = null;
    		try {
    			output = new BufferedWriter(new FileWriter(reservationFilePath, true));
    			if(reservationFile.length()>0){
    				output.newLine();
    			}
    			output.write(reservation.getUser().getUsername()+";"+reservation.getPartenza()+";"+reservation.getDestinazione()+
    					";"+reservation.getPercorso().toString()+";"+reservation.getModalita()+";"+reservation.getPercorso().getDistanza()+
    					";"+reservation.getPercorso().getTempo()+";"+reservation.getPercorso().getCosto());
    		} catch (IOException e) {
    			esito = false;
    			e.printStackTrace();
    		} finally {
    			try {
    				output.close();
    			} catch (IOException e) {
    				esito = false;
    				e.printStackTrace();
    			}
    		}
    		return esito;
    	}
    
    
    	
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.