Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package ui.PPROG_1DF_1161121_1161113_TP3;
- import algoritmos.PPROG_1DF_1161121_1161113_TP3.AlgoritmoAtribuicao;
- import controller.PPROG_1DF_1161121_1161113_TP3.AtribuirCandidaturaController;
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.util.List;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import model.PPROG_1DF_1161121_1161113_TP3.Algoritmo;
- import model.PPROG_1DF_1161121_1161113_TP3.Atribuicao;
- import model.PPROG_1DF_1161121_1161113_TP3.CentroEventos;
- import model.PPROG_1DF_1161121_1161113_TP3.Evento;
- import model.PPROG_1DF_1161121_1161113_TP3.Organizador;
- import model.PPROG_1DF_1161121_1161113_TP3.RegistoAtribuicoes;
- import model.PPROG_1DF_1161121_1161113_TP3.RegistoEventos;
- /**
- *
- * @author david
- */
- public class AtribuirCandidaturaUI extends JFrame {
- private RegistoEventos registoEventos;
- private CentroEventos centroEventos;
- private AtribuirCandidaturaController controllerAtribuirCandidatura;
- private Organizador organizador;
- private JList listaCandidaturasAtribuidas;
- private static JComboBox eventosCombo = new JComboBox();
- private static JComboBox algoritmosCombo = new JComboBox();
- private static int indexLista = 0;
- private AlgoritmoAtribuicao algoritmo;
- private List<Atribuicao> la;
- /**
- * A largura da janela em píxeis.
- */
- private static final int JANELA_LARGURA = 500;
- /**
- * A altura da janela em píxeis.
- */
- private static final int JANELA_ALTURA = 500;
- public AtribuirCandidaturaUI(RegistoEventos registoEventos, CentroEventos centroEventos, Organizador organizador) {
- super("Atribuir Candidaturas");
- this.registoEventos = registoEventos;
- this.centroEventos = centroEventos;
- this.controllerAtribuirCandidatura = new AtribuirCandidaturaController(centroEventos);
- this.organizador = organizador;
- this.indexLista = -1;
- BorderLayout bl = new BorderLayout();
- setLayout(bl);
- criaComponentes();
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setSize(JANELA_LARGURA, JANELA_ALTURA);
- setVisible(true);
- }
- public void criaComponentes() {
- JPanel painelNorte = criaPainelNorte();
- JPanel painelCentro = criaPainelCentro();
- JPanel painelSul = criaPainelSul();
- add(painelNorte, BorderLayout.NORTH);
- add(painelCentro, BorderLayout.CENTER);
- add(painelSul, BorderLayout.SOUTH);
- }
- public JPanel criaPainelNorte() {
- JLabel l = new JLabel("Escolher Evento");
- JPanel p = new JPanel();
- JComboBox box = criaComboBoxEventos();
- adicionaEventosComboBox();
- box.addActionListener(new EventosCombo());
- p.add(l);
- p.add(box);
- return p;
- }
- public JPanel criaPainelCentro() {
- JPanel p = new JPanel(new GridLayout(2, 1));
- JPanel l1 = new JPanel();
- JPanel l2 = new JPanel();
- JComboBox algoritmosBox = criaComboBoxAlgoritmos();
- adicionaAlgoritmosComboBox();
- JButton btnAtribuir = new JButton("Atribuir");
- Dimension dmnsn = new Dimension(50, 50);
- btnAtribuir.setSize(dmnsn);
- btnAtribuir.addActionListener(new ActionListener () {
- @Override
- public void actionPerformed(ActionEvent ae) {
- la= controllerAtribuirCandidatura.executaAlgoritmo(algoritmo);
- }
- });
- JButton btnConfirmo = new JButton("Confirmo");
- btnConfirmo.setSize(dmnsn);
- l1.add(algoritmosBox);
- l2.add(btnAtribuir);
- l2.add(btnConfirmo);
- p.add(l1);
- p.add(l2);
- return p;
- }
- public JPanel criaPainelSul() {
- JPanel p = new JPanel();
- p.add(criarComponenteSul());
- return p;
- }
- public JComboBox criaComboBoxEventos() {
- eventosCombo.addActionListener(new EventosCombo());
- return eventosCombo;
- }
- public JComboBox criaComboBoxAlgoritmos() {
- algoritmosCombo.addActionListener(new AlgoritmosCombo());
- return algoritmosCombo;
- }
- public void adicionaEventosComboBox() {
- eventosCombo.addItem("Escolhe um Evento");
- for (Evento evento : controllerAtribuirCandidatura.getListaEventosOrganizador(organizador)) {
- eventosCombo.addItem(evento.getTitle());
- }
- }
- public void adicionaAlgoritmosComboBox() {
- algoritmosCombo.addItem("Escolhe um Algoritmo de Distribuiçao");
- for (AlgoritmoAtribuicao algoritmo : controllerAtribuirCandidatura.getRegistoAlgoritmos()) {
- algoritmosCombo.addItem(algoritmo);
- }
- }
- private JPanel criarComponenteSul() {
- JPanel p = new JPanel();
- p.setLayout(new GridLayout(2, 2, 10, 10));
- listaCandidaturasAtribuidas = new JList( la.toArray());
- p.add("Atribuicao", listaCandidaturasAtribuidas);
- return p;
- }
- public class EventosCombo implements ActionListener {
- @Override
- public void actionPerformed(ActionEvent ae) {
- indexLista = eventosCombo.getSelectedIndex() - 1;
- System.out.println("Selected: " + eventosCombo.getSelectedItem());
- eventosCombo.getSelectedItem();
- }
- }
- public class AlgoritmosCombo implements ActionListener {
- @Override
- public void actionPerformed(ActionEvent ae) {
- indexLista = algoritmosCombo.getSelectedIndex();
- System.out.println("Selected: " + algoritmosCombo.getSelectedItem());
- algoritmosCombo.getSelectedItem();
- algoritmo = controllerAtribuirCandidatura.selecionaAlgoritmo(indexLista);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement