Пример #1
0
  @Override
  public void event(MT type, Object o) {
    switch (type) {
      case RUN_CHANGED:
        Entrant e = (Entrant) o;
        String classcode = e.getClassCode();

        nameLabel.setText("Driver: " + e.getName());
        nameModel.setData(e);

        details.setData(e.getRuns());

        classLabel.setText("Class: " + classcode);
        classModel.setData(Database.d.getResultsForClass(classcode));
        renderer.setHighlightValue(e.getFirstName() + " " + e.getLastName());

        break;
    }
  }
Пример #2
0
  public ResultsPane() {
    super(new BorderLayout());
    Messenger.register(MT.RUN_CHANGED, this);

    diffForm = new DecimalFormat("##0.000");
    diffForm.setPositivePrefix("+");

    nameLabel = new JLabel("", SwingConstants.CENTER);
    nameLabel.setFont(new Font("dialog", Font.BOLD, 16));
    nameLabel.setBorder(new LineBorder(Color.GRAY));
    nameLabel.setAlignmentX(0.5f);
    nameLabel.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE));

    nameModel = new EntrantResultModel();

    nameTable = new JTable(nameModel);
    nameTable.setDefaultRenderer(Object.class, new EntrantResultRenderer());
    nameTable.setRowHeight(20);
    nameTable.setAlignmentX(0.5f);
    nameTable.setRowSelectionAllowed(false);
    nameTable.setColumnSelectionAllowed(false);
    TableColumnModel cm1 = nameTable.getColumnModel();
    cm1.getColumn(0).setPreferredWidth(250);
    cm1.getColumn(1).setPreferredWidth(80);
    cm1.getColumn(2).setPreferredWidth(200);
    cm1.getColumn(3).setPreferredWidth(250);
    cm1.getColumn(4).setPreferredWidth(80);

    JLabel announcerLabel = new JLabel("Run Results", JLabel.CENTER);
    announcerLabel.setFont(new Font("dialog", Font.BOLD, 16));
    announcerLabel.setBorder(new LineBorder(Color.GRAY));
    announcerLabel.setAlignmentX(0.5f);
    announcerLabel.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE));

    details = new AnnouncerStrings();
    details.setAlignmentX(0.5f);

    classLabel = new JLabel("", SwingConstants.CENTER);
    classLabel.setFont(new Font("dialog", Font.BOLD, 16));
    classLabel.setBorder(new LineBorder(Color.GRAY));
    classLabel.setText("Class Results");
    classLabel.setAlignmentX(0.5f);
    classLabel.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE));

    classModel = new EventResultModel();
    classTable = new JTable(classModel);

    renderer = new HighlightRenderer();
    classTable.setDefaultRenderer(Object.class, renderer);
    classTable.setRowHeight(20);
    classTable.setRowSelectionAllowed(false);
    classTable.setColumnSelectionAllowed(false);

    TableColumnModel cm = classTable.getColumnModel();
    cm.getColumn(0).setPreferredWidth(50);
    cm.getColumn(1).setPreferredWidth(500);
    cm.getColumn(2).setPreferredWidth(250);
    cm.getColumn(3).setPreferredWidth(250);

    upperPanel = new JPanel();
    upperPanel.setLayout(new BoxLayout(upperPanel, BoxLayout.PAGE_AXIS));
    upperPanel.add(nameLabel);
    upperPanel.add(nameTable.getTableHeader());
    upperPanel.add(nameTable);

    upperPanel.add(announcerLabel);
    upperPanel.add(Box.createRigidArea(new Dimension(0, 5)));
    upperPanel.add(details);
    upperPanel.add(Box.createRigidArea(new Dimension(0, 20)));
    upperPanel.add(classLabel);
    upperPanel.setOpaque(true);
    upperPanel.setBackground(Color.WHITE);

    add(upperPanel, BorderLayout.NORTH);
    add(new JScrollPane(classTable), BorderLayout.CENTER);
  }