Grazie a chi mi darà una mano.
- Codice: Seleziona tutto
package gui;
import javax.swing.*;
import model.StopFactory;
import routing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class MainFrame extends JFrame implements ActionListener {
static final long serialVersionUID = 1L;
private FullRouteCalculator routeCalculator;
private JLabel partenzaLabel;
private JLabel arrivoLabel;
private JComboBox partenzaComboBox;
private JComboBox arrivoComboBox;
private JPanel selectionPanel;
private JPanel partenzaArrivoPanel;
private JPanel searchPanel;
private JLabel changeLabel;
private JComboBox changeComboBox;
private JButton searchButton;
private JPanel outputPanel;
private JTextArea outputArea;
public MainFrame()
{
super();
this.routeCalculator = new FullRouteCalculator();
initGUI();
}
public void initGUI()
{
this.setLayout(new BorderLayout());
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(screenSize.width/2, screenSize.height/2);
this.setLocation((int)(screenSize.width - getWidth()) / 2, (int)(screenSize.height - this.getHeight())/2);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
selectionPanel = new JPanel();
selectionPanel.setLayout(new GridLayout(2, 1));
{
partenzaArrivoPanel = new JPanel();
FlowLayout layout = new FlowLayout();
layout.setHgap(15);
partenzaArrivoPanel.setLayout(layout);
{
partenzaLabel = new JLabel("Partenza: ");
partenzaComboBox = new JComboBox();
partenzaArrivoPanel.add(partenzaLabel);
partenzaArrivoPanel.add(partenzaComboBox);
arrivoLabel = new JLabel("Arrivo: ");
arrivoComboBox = new JComboBox();
partenzaArrivoPanel.add(arrivoLabel);
partenzaArrivoPanel.add(arrivoComboBox);
changeLabel = new JLabel("Cambi: ");
changeComboBox = new JComboBox();
changeComboBox.addItem("0");
changeComboBox.addItem("1");
changeComboBox.addItem("2");
changeComboBox.addItem("3");
partenzaArrivoPanel.add(changeLabel);
partenzaArrivoPanel.add(changeComboBox);
}
populateComboBoxes();
searchPanel = new JPanel();
searchPanel.setLayout(new FlowLayout());
{
searchButton = new JButton("Cerca");
searchButton.addActionListener(this);
searchPanel.add(searchButton);
}
}
selectionPanel.add(partenzaArrivoPanel);
selectionPanel.add(searchPanel);
outputPanel = new JPanel();
outputArea = new JTextArea(50, 100);
outputPanel.add(outputArea);
this.getContentPane().add(selectionPanel, BorderLayout.NORTH);
this.getContentPane().add(outputPanel, BorderLayout.WEST);
}
public void populateComboBoxes()
{
StopFactory factory = StopFactory.getInstance();
for(String a : factory.getStopsNames())
{
partenzaComboBox.addItem(a);
}
for(String a : factory.getStopsNames())
{
arrivoComboBox.addItem(a);
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == searchButton)
{
try
{
ArrayList<Route> routeSet = routeCalculator.calculate(partenzaComboBox.getSelectedItem().toString(), arrivoComboBox.getSelectedItem().toString(), Integer.parseInt((String)changeComboBox.getSelectedItem()));
for(Route a : routeSet)
{
outputArea.append(a.toString());
outputArea.append("\n");
}
}
catch(Exception ex)
{}
}
}
}


