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