List of usage examples for org.jfree.chart ChartMouseListener ChartMouseListener
ChartMouseListener
From source file:UI.SecurityDashboard.java
private void performMetric2(MainViewPanel mvp) { Metric2 metric2 = new Metric2(); JPanel graphPanel2 = new JPanel(); graphPanel2.setLayout(new BorderLayout()); graphPanel2.add(metric2.run(), BorderLayout.NORTH); PatchPanel.setLayout(new BorderLayout()); JTextArea header = new JTextArea( "\nThe Unpatched Software tab focuses on identifying all software on each device that is missing " + "updates, or devices that are running software which is no longer supported.\n"); //header.setLineWrap(true); //header.setWrapStyleWord(true); header.setEditable(false);/*from ww w. j a v a 2s.c o m*/ PatchPanel.add(header, BorderLayout.NORTH); PatchPanel.add(graphPanel2, BorderLayout.CENTER); ChartPanel secondPanel = mvp.getPanel2(metric2); secondPanel.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent cme) { dashboardTabs.setSelectedIndex(2); } @Override public void chartMouseMoved(ChartMouseEvent cme) { } }); Metric2Panel.setLayout(new BorderLayout()); Font titleFont = new Font("Calibri", Font.BOLD, 27); JLabel patchTitleLabel = new JLabel(" Unpatched Software"); patchTitleLabel.setFont(titleFont); Metric2Panel.add(patchTitleLabel, BorderLayout.NORTH); Metric2Panel.add(secondPanel, BorderLayout.CENTER); Metric2Panel.setBackground(Color.white); }
From source file:UI.SecurityDashboard.java
private void performMetric3(MainViewPanel mvp) { Metric3 metric3 = new Metric3(); JPanel graphPanel3 = new JPanel(); graphPanel3.setLayout(new BorderLayout()); graphPanel3.add(metric3.run(), BorderLayout.NORTH); AntiVirusPanel.setLayout(new BorderLayout()); JTextArea header = new JTextArea( "\nThis page lists all devices on the network, divided into two tables. The top table shows the " + "critical issues where the devices listed are either not running an anti-virus solution or the solution is not updated. It " + "will also list those anti-virus solutions which have services which are not running (Scanning is disabled). The bottom " + "table shows the updated table where the devices listed have updated and running anti-virus solutions.\n"); header.setLineWrap(true);/*from www.j a va2s.c om*/ header.setWrapStyleWord(true); header.setEditable(false); AntiVirusPanel.add(header, BorderLayout.NORTH); AntiVirusPanel.add(graphPanel3, BorderLayout.CENTER); ChartPanel thirdPanel = mvp.getPanel3(metric3); thirdPanel.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent cme) { dashboardTabs.setSelectedIndex(3); } @Override public void chartMouseMoved(ChartMouseEvent cme) { } }); Metric3Panel.setLayout(new BorderLayout()); Font titleFont = new Font("Calibri", Font.BOLD, 27); JLabel avTitleLabel = new JLabel(" AV Scan Check"); avTitleLabel.setFont(titleFont); Metric3Panel.add(avTitleLabel, BorderLayout.NORTH); Metric3Panel.add(thirdPanel, BorderLayout.CENTER); Metric3Panel.setBackground(Color.white); }
From source file:FirstForm.java
private void initCharts() { moduladoraChart = new ChartPanel(null); moduladoraChart.setToolTipText("Click Para Pausar"); moduladoraChart.addChartMouseListener(new ChartMouseListener() { @Override/*from ww w . j a v a 2s . c o m*/ public void chartMouseClicked(ChartMouseEvent cme) { if (moduladoraThread != null) moduladoraThread.switchPause(); } @Override public void chartMouseMoved(ChartMouseEvent cme) { //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }); portadoraChart = new ChartPanel(null); portadoraChart.setToolTipText("Click Para Pausar"); portadoraChart.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent cme) { if (portadoraThread != null) portadoraThread.switchPause(); } @Override public void chartMouseMoved(ChartMouseEvent cme) { //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }); moduladaChart = new ChartPanel(null); moduladaChart.setToolTipText("Click Para Pausar"); moduladaChart.setDisplayToolTips(true); moduladaChart.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent cme) { if (moduladaThread != null) moduladaThread.switchPause(); } @Override public void chartMouseMoved(ChartMouseEvent cme) { //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }); }
From source file:UI.SecurityDashboard.java
private void performMetric4(MainViewPanel mvp) { Metric4 metric4 = new Metric4(); JPanel graphPanel4 = new JPanel(); graphPanel4.setLayout(new BorderLayout()); metric4.run();/*from www. ja va 2 s . c om*/ graphPanel4.add(mvp.getPanel4(metric4), BorderLayout.CENTER); MalwarePanel.setLayout(new BorderLayout()); JTextArea header = new JTextArea( "\nThe Malware detection will scan for viruses, trojans, and worms that may have affected a device.\n"); header.setLineWrap(true); header.setWrapStyleWord(true); header.setEditable(false); MalwarePanel.add(header, BorderLayout.NORTH); if (metric4.getTotalCount() == 0) { Font noMalwareFont = new Font("Calibri", Font.BOLD, 40); JLabel noMalwareLabel = new JLabel( " No Malware Detected"); noMalwareLabel.setFont(noMalwareFont); noMalwareLabel.setPreferredSize(new Dimension(WIDTH, 100)); graphPanel4.add(noMalwareLabel, BorderLayout.NORTH); JPanel emptyPanel = new JPanel(); emptyPanel.setPreferredSize(new Dimension(50, 200)); emptyPanel.setOpaque(true); graphPanel4.add(emptyPanel, BorderLayout.SOUTH); } MalwarePanel.add(graphPanel4, BorderLayout.CENTER); ChartPanel fourthPanel = mvp.getPanel4(metric4); fourthPanel.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent cme) { dashboardTabs.setSelectedIndex(4); } @Override public void chartMouseMoved(ChartMouseEvent cme) { } }); Metric4Panel.setLayout(new BorderLayout()); Font titleFont = new Font("Calibri", Font.BOLD, 27); JLabel malwareTitleLabel = new JLabel(" Malware Detection"); malwareTitleLabel.setFont(titleFont); Metric4Panel.add(malwareTitleLabel, BorderLayout.PAGE_START); Metric4Panel.add(fourthPanel, BorderLayout.CENTER); if (metric4.getTotalCount() == 0) { Font noMalwareFont = new Font("Calibri", Font.BOLD, 20); JLabel noMalwareLabel = new JLabel(" No Malware Detected"); noMalwareLabel.setFont(noMalwareFont); Metric4Panel.add(noMalwareLabel, BorderLayout.SOUTH); } Metric4Panel.setBackground(Color.white); }
From source file:UI.SecurityDashboard.java
private void performMetric5(MainViewPanel mvp) { Metric5 metric5 = new Metric5(); JPanel graphPanel5 = new JPanel(); graphPanel5.setLayout(new BorderLayout()); graphPanel5.add(metric5.run(), BorderLayout.NORTH); NetworkPanel.setLayout(new BorderLayout()); JTextArea header = new JTextArea( "\nThe web application page will scan all remote servers running a web program in search of any " + "vulnerabilities present.\n"); //header.setLineWrap(true); //header.setWrapStyleWord(true); header.setEditable(false);//from w w w . j av a2 s. com NetworkPanel.add(header, BorderLayout.NORTH); NetworkPanel.add(graphPanel5, BorderLayout.CENTER); ChartPanel fifthPanel = mvp.getPanel5(metric5); fifthPanel.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent cme) { dashboardTabs.setSelectedIndex(5); } @Override public void chartMouseMoved(ChartMouseEvent cme) { } }); Metric5Panel.setLayout(new BorderLayout()); Font titleFont = new Font("Calibri", Font.BOLD, 27); JLabel netAppTitleLabel = new JLabel(" Web Applications"); netAppTitleLabel.setFont(titleFont); Metric5Panel.add(netAppTitleLabel, BorderLayout.NORTH); Metric5Panel.add(fifthPanel, BorderLayout.CENTER); Metric5Panel.setBackground(Color.white); }
From source file:UI.SecurityDashboard.java
private void performMetric6(MainViewPanel mvp) { Metric6 metric6 = new Metric6(); JPanel graphPanel6 = new JPanel(); graphPanel6.setLayout(new BorderLayout()); graphPanel6.add(metric6.run(), BorderLayout.NORTH); DefencePanel.setLayout(new BorderLayout()); JTextArea header = new JTextArea( "\nThe network defence panel is designated to analysing network devices such as Firewalls, Routers, " + "and Switches, and helps to ensure that the boundary defence is the work is well maintained. These devices must be updated " + "correctly configured in order to prevent unauthorised external access.\n"); header.setLineWrap(true);/*from ww w. jav a 2 s.c o m*/ header.setWrapStyleWord(true); header.setEditable(false); DefencePanel.add(header, BorderLayout.NORTH); DefencePanel.add(graphPanel6, BorderLayout.CENTER); ChartPanel sixthPanel = mvp.getPanel6(metric6); sixthPanel.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent cme) { dashboardTabs.setSelectedIndex(6); } @Override public void chartMouseMoved(ChartMouseEvent cme) { } }); Metric6Panel.setLayout(new BorderLayout()); Font titleFont = new Font("Calibri", Font.BOLD, 27); JLabel netDefTitleLabel = new JLabel(" Network Defence"); netDefTitleLabel.setFont(titleFont); Metric6Panel.add(netDefTitleLabel, BorderLayout.NORTH); Metric6Panel.add(sixthPanel, BorderLayout.CENTER); Metric6Panel.setBackground(Color.white); }
From source file:UI.SecurityDashboard.java
private void performMetric8(MainViewPanel mvp) { Metric8 metric8 = new Metric8(); JPanel graphPanel8 = new JPanel(); graphPanel8.setLayout(new BorderLayout()); graphPanel8.add(metric8.run(), BorderLayout.NORTH); AccountPanel.setLayout(new BorderLayout()); JTextArea header = new JTextArea( "\nVulnerable user accounts can be exploited due to weak policies. This scan will visit all user " + "accounts on each device to list user privilidges and administrator rights, as well as look for default or weak passwords " + "that \ncan leave the account susceptible to brute-force attacks.\n"); //header.setLineWrap(true); //header.setWrapStyleWord(true); header.setEditable(false);/*from w w w. j av a 2 s. c om*/ AccountPanel.add(header, BorderLayout.NORTH); AccountPanel.add(graphPanel8, BorderLayout.CENTER); ChartPanel eighthPanel = mvp.getPanel8(metric8); eighthPanel.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent cme) { dashboardTabs.setSelectedIndex(8); } @Override public void chartMouseMoved(ChartMouseEvent cme) { } }); Metric8Panel.setLayout(new BorderLayout()); Metric8Panel.setBackground(Color.white); Font titleFont = new Font("Calibri", Font.BOLD, 27); JLabel portTitleLabel = new JLabel(" User Account"); portTitleLabel.setFont(titleFont); Metric8Panel.add(portTitleLabel, BorderLayout.NORTH); Metric8Panel.add(eighthPanel, BorderLayout.CENTER); }
From source file:UI.SecurityDashboard.java
private void performMetric9() { GZDecompression m9 = new GZDecompression(); String[][] counts = m9.getMetric9(); Font titleFont = new Font("Calibri", Font.BOLD, 27); JLabel logAuditTitleLabel = new JLabel(" Log Audit"); logAuditTitleLabel.setFont(titleFont); AreaChart areaChart = new AreaChart(m9.getLogCount(), m9.getSuccessCount(), m9.getFailCount()); ChartPanel thisChart = areaChart.drawAreaChart(); thisChart.setBackground(Color.white); thisChart.addChartMouseListener(new ChartMouseListener() { @Override/*from www . j a v a 2s . co m*/ public void chartMouseClicked(ChartMouseEvent cme) { dashboardTabs.setSelectedIndex(9); } @Override public void chartMouseMoved(ChartMouseEvent cme) { } }); Metric9Panel.setBackground(Color.WHITE); Metric9Panel.setLayout(new BorderLayout()); Metric9Panel.add(logAuditTitleLabel, BorderLayout.NORTH); Metric9Panel.add(thisChart, BorderLayout.CENTER); Metric9Panel.setEnabled(false); String[] columns = { "Log Failure" }; JTable table = new JTable(counts, columns); table.setShowHorizontalLines(true); table.setRowHeight(40); table.setEnabled(false); JScrollPane tableScrollPane = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); AuditPanel.setLayout(new BorderLayout()); JTextArea header = new JTextArea( "\nThrough the analysis of security logs, this page will show an audit of the attack attempts and " + "security breaches. The logs provide critical information related to system events that can be used to track suspicicous " + "activities.\n"); header.setLineWrap(true); header.setWrapStyleWord(true); header.setEditable(false); AuditPanel.add(header, BorderLayout.NORTH); AuditPanel.add(tableScrollPane, BorderLayout.CENTER); }
From source file:course_generator.frmMain.java
/** * This method is called to initialize the form. *///from ww w . ja v a 2 s . com private void initComponents() { // -- Main windows // ------------------------------------------------------ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); // java.util.ResourceBundle bundle = // java.util.ResourceBundle.getBundle("course_generator/Bundle"); setTitle(bundle.getString("frmMain.title")); setIconImages(null); // setName("FrameMain"); // setPreferredSize(new java.awt.Dimension(812, 800)); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } }); // -- Layout // ------------------------------------------------------------ Container paneGlobal = getContentPane(); // paneGlobal.setLayout(new GridBagLayout()); paneGlobal.setLayout(new BorderLayout()); // -- Menu bar // ---------------------------------------------------------- Create_MenuBarMain(); // -- Main toolbar // ------------------------------------------------------ Create_MainToolbar(); paneGlobal.add(ToolBarMain, BorderLayout.NORTH); // -- Status bar // ------------------------------------------------------ Create_Statusbar(); paneGlobal.add(StatusBar, BorderLayout.SOUTH); // -- Main split bar (vertical) // ----------------------------------------- SplitPaneMain = new javax.swing.JSplitPane(); paneGlobal.add(SplitPaneMain, BorderLayout.CENTER); // -- Left side of the split bar // ---------------------------------------- jPanelLeft = new javax.swing.JPanel(); jPanelLeft.setLayout(new java.awt.BorderLayout()); // -- Add the left panel to the main split panel // ------------------------ SplitPaneMain.setLeftComponent(jPanelLeft); // -- Content of the tree javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode( "Course Generator"); javax.swing.tree.DefaultMutableTreeNode treeNode2 = new javax.swing.tree.DefaultMutableTreeNode("Parcours"); javax.swing.tree.DefaultMutableTreeNode treeNode3 = new javax.swing.tree.DefaultMutableTreeNode( "Utmb 2011"); javax.swing.tree.DefaultMutableTreeNode treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Prvu"); treeNode3.add(treeNode4); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Fait"); treeNode3.add(treeNode4); treeNode2.add(treeNode3); treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("Montagnard"); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Prvu"); treeNode3.add(treeNode4); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Fait"); treeNode3.add(treeNode4); treeNode2.add(treeNode3); treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("UCDHL2008"); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Prvu"); treeNode3.add(treeNode4); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Fait"); treeNode3.add(treeNode4); treeNode2.add(treeNode3); treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("UCDHL2009"); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Prvu"); treeNode3.add(treeNode4); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Fait"); treeNode3.add(treeNode4); treeNode2.add(treeNode3); treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("UCDHL2010"); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Prvu"); treeNode3.add(treeNode4); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Fait"); treeNode3.add(treeNode4); treeNode2.add(treeNode3); treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("UCDHL2011"); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Prvu"); treeNode3.add(treeNode4); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Fait"); treeNode3.add(treeNode4); treeNode2.add(treeNode3); treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("UCDHL2012"); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Prvu"); treeNode3.add(treeNode4); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Fait"); treeNode3.add(treeNode4); treeNode2.add(treeNode3); treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("UCDHL2013"); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Prvu"); treeNode3.add(treeNode4); treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("Fait"); treeNode3.add(treeNode4); treeNode2.add(treeNode3); treeNode1.add(treeNode2); treeNode2 = new javax.swing.tree.DefaultMutableTreeNode("Configuration"); treeNode1.add(treeNode2); // -- Tree // -------------------------------------------------------------- jTreeMain = new javax.swing.JTree(); jTreeMain.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1)); jTreeMain.setPreferredSize(new java.awt.Dimension(109, 25)); // -- Add the tree to a scroll panel // ------------------------------------ jScrollPaneTree = new javax.swing.JScrollPane(); jScrollPaneTree.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jScrollPaneTree.setViewportView(jTreeMain); // -- Add the scroll panel to the left panel // ---------------------------- jPanelLeft.add(jScrollPaneTree, java.awt.BorderLayout.CENTER); // -- Right split pane // -------------------------------------------------- SplitPaneMainRight = new javax.swing.JSplitPane(); SplitPaneMainRight.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT); SplitPaneMain.setRightComponent(SplitPaneMainRight); // -- Tabbed panel // ------------------------------------------------------ TabbedPaneMain = new javax.swing.JTabbedPane(); // -- Create the listener ChangeListener changeListener = new ChangeListener() { public void stateChanged(ChangeEvent changeEvent) { JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource(); int index = sourceTabbedPane.getSelectedIndex(); if (index == 4) // Tab Resume RefreshResume(); } }; TabbedPaneMain.addChangeListener(changeListener); SplitPaneMainRight.setTopComponent(TabbedPaneMain); // -- Tab - data (grid) // ------------------------------------------------- TableMain = new javax.swing.JTable(); TableMain.setModel(ModelTableMain); TableMain.getTableHeader() .setDefaultRenderer(new MainHeaderRenderer(TableMain.getTableHeader().getDefaultRenderer())); TableMain.getTableHeader().setReorderingAllowed(false); TableMain.setDefaultRenderer(ElevationClass.class, new ElevationRenderer()); TableMain.setDefaultRenderer(DistClass.class, new DistRenderer()); TableMain.setDefaultRenderer(TotalClass.class, new TotalRenderer()); TableMain.setDefaultRenderer(DiffClass.class, new DiffRenderer()); TableMain.setDefaultRenderer(CoeffClass.class, new CoeffRenderer()); TableMain.setDefaultRenderer(LatClass.class, new LatRenderer()); TableMain.setDefaultRenderer(LonClass.class, new LonRenderer()); TableMain.setDefaultRenderer(RecupClass.class, new RecupRenderer()); TableMain.setDefaultRenderer(TimeClass.class, new TimeRenderer()); TableMain.setDefaultRenderer(TimelimitClass.class, new TimelimitRenderer()); TableMain.setDefaultRenderer(HourClass.class, new HourRenderer()); TableMain.setDefaultRenderer(StationClass.class, new StationRenderer()); TableMain.setDefaultRenderer(TagClass.class, new TagRenderer()); TableMain.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); TableMain.setRowHeight(20); TableMain.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { if (evt.getButton() == evt.BUTTON1 && evt.getClickCount() >= 2 && !evt.isConsumed()) { evt.consume(); int row = TableMain.rowAtPoint(evt.getPoint()); int col = TableMain.columnAtPoint(evt.getPoint()); frmEditPosition frm = new frmEditPosition(); if (frm.showDialog(Settings, Track, row, col)) { Track.isModified = true; RefreshTableMain(); RefreshProfil(); RefreshStatusbar(Track); } } else TableMainMouseClicked(evt); } }); TableMain.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { TableMainKeyReleased(evt); } }); // -- Add the grid to a scroll panel // ------------------------------------ jScrollPaneData = new javax.swing.JScrollPane(); jScrollPaneData.setViewportView(TableMain); // -- Add the scroll panel to the tabbed panel // -------------------------- addTab(TabbedPaneMain, jScrollPaneData, bundle.getString("frmMain.TabData.tabTitle"), new javax.swing.ImageIcon(getClass().getResource("/course_generator/images/satellite16.png"))); // -- Tab - Profil // ------------------------------------------------------ jPanelProfil = new javax.swing.JPanel(); jPanelProfil.setPreferredSize(new java.awt.Dimension(677, 150)); jPanelProfil.setLayout(new java.awt.BorderLayout()); // -- Profil tool bar // --------------------------------------------------- // Create_Profil_Toolbar(); // jPanelProfil.add(ToolBarProfil, java.awt.BorderLayout.WEST); // -- Profil chart // ------------------------------------------------------ jPanelProfilChart = new ChartPanel(chart); CrosshairOverlay crosshairOverlay = new CrosshairOverlay(); xCrosshair = new Crosshair(Double.NaN, Color.DARK_GRAY, new BasicStroke(0f)); // xCrosshair.setLabelVisible(true); xCrosshair.setLabelBackgroundPaint(Color.WHITE); yCrosshair = new Crosshair(Double.NaN, Color.DARK_GRAY, new BasicStroke(0f)); // yCrosshair.setLabelVisible(true); yCrosshair.setLabelBackgroundPaint(Color.WHITE); crosshairOverlay.addDomainCrosshair(xCrosshair); crosshairOverlay.addRangeCrosshair(yCrosshair); jPanelProfilChart.addOverlay(crosshairOverlay); jPanelProfilChart.setBackground(new java.awt.Color(255, 0, 51)); jPanelProfilChart.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent event) { ChartEntity chartentity = event.getEntity(); if (chartentity instanceof XYItemEntity) { XYItemEntity e = (XYItemEntity) chartentity; XYDataset d = e.getDataset(); int s = e.getSeriesIndex(); int i = e.getItem(); double x = d.getXValue(s, i); double y = d.getYValue(s, i); xCrosshair.setValue(x); yCrosshair.setValue(y); RefreshProfilInfo(i); //Refresh the position on the data grid TableMain.setRowSelectionInterval(i, i); Rectangle rect = TableMain.getCellRect(i, 0, true); TableMain.scrollRectToVisible(rect); //Refresh the marker position on the map RefreshCurrentPosMarker(Track.data.get(i).getLatitude(), Track.data.get(i).getLongitude()); } } @Override public void chartMouseMoved(ChartMouseEvent event) { } }); jPanelProfil.add(jPanelProfilChart, java.awt.BorderLayout.CENTER); // -- Profil info bar // --------------------------------------------------- jPanelProfilInfo = new javax.swing.JPanel(); jPanelProfilInfo.setLayout(new GridBagLayout()); jPanelProfil.add(jPanelProfilInfo, java.awt.BorderLayout.SOUTH); // -- Line 0 // -- Distance // ---------------------------------------------------------- lbProfilDistance = new javax.swing.JLabel(); lbProfilDistance.setText(" " + bundle.getString("frmMain.lbProfilDistance.text") + "=0.000km "); lbProfilDistance.setBorder(javax.swing.BorderFactory.createEtchedBorder()); Utils.addComponent(jPanelProfilInfo, lbProfilDistance, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH); // -- Time // -------------------------------------------------------------- lbProfilTime = new javax.swing.JLabel(); lbProfilTime.setText(" " + bundle.getString("frmMain.lbProfilTime.text") + "=00:00:00 "); lbProfilTime.setBorder(javax.swing.BorderFactory.createEtchedBorder()); Utils.addComponent(jPanelProfilInfo, lbProfilTime, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH); // -- Slope // ------------------------------------------------------------- lbProfilSlope = new javax.swing.JLabel(); lbProfilSlope.setText(" " + bundle.getString("frmMain.lbProfilSlope.text") + "=0.0% "); lbProfilSlope.setBorder(javax.swing.BorderFactory.createEtchedBorder()); Utils.addComponent(jPanelProfilInfo, lbProfilSlope, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH); // -- Name // -------------------------------------------------------------- lbProfilName = new javax.swing.JLabel(); lbProfilName.setText(" " + bundle.getString("frmMain.lbProfilName.text") + "= "); lbProfilName.setBorder(javax.swing.BorderFactory.createEtchedBorder()); Utils.addComponent(jPanelProfilInfo, lbProfilName, 3, 0, 1, 1, 1, 0, 0, 0, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH); // -- Line 1 // -- Elevation // --------------------------------------------------------- lbProfilElevation = new javax.swing.JLabel(); lbProfilElevation.setText(" " + bundle.getString("frmMain.lbProfilElevation.text") + "=0m "); lbProfilElevation.setBorder(javax.swing.BorderFactory.createEtchedBorder()); Utils.addComponent(jPanelProfilInfo, lbProfilElevation, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH); // -- Hour // -------------------------------------------------------------- lbProfilHour = new javax.swing.JLabel(); lbProfilHour.setText(" " + bundle.getString("frmMain.lbProfilHour.text") + "=00:00:00 "); lbProfilHour.setBorder(javax.swing.BorderFactory.createEtchedBorder()); Utils.addComponent(jPanelProfilInfo, lbProfilHour, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH); // -- Speed // ------------------------------------------------------------- lbProfilSpeed = new javax.swing.JLabel(); lbProfilSpeed.setText(" " + bundle.getString("frmMain.lbProfilSpeed.text") + "=0.0km/h "); lbProfilSpeed.setBorder(javax.swing.BorderFactory.createEtchedBorder()); Utils.addComponent(jPanelProfilInfo, lbProfilSpeed, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH); // -- Comment // ----------------------------------------------------------- lbProfilComment = new javax.swing.JLabel(); lbProfilComment.setText(" " + bundle.getString("frmMain.lbProfilComment.text") + "= "); lbProfilComment.setBorder(javax.swing.BorderFactory.createEtchedBorder()); Utils.addComponent(jPanelProfilInfo, lbProfilComment, 3, 1, 1, 1, 1, 0, 0, 0, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH); // -- Distance / Temps / Pente / Nom // -- Altitude / Heure / Vitesse / Commentaire // -- Add the panel to the tabbed panel // --------------------------------- addTab(TabbedPaneMain, jPanelProfil, bundle.getString("frmMain.TabProfil.tabTitle"), new javax.swing.ImageIcon(getClass().getResource("/course_generator/images/profil.png"))); // -- Tab - Statistic // --------------------------------------------------- jPanelStatistic = new javax.swing.JPanel(); jPanelStatistic.setLayout(new java.awt.BorderLayout()); // -- Statistic tool bar // --------------------------------------------------- Create_Statistic_Toolbar(); jPanelStatistic.add(ToolBarStatistic, java.awt.BorderLayout.NORTH); // TODO Add the component to display the statistics addTab(TabbedPaneMain, jPanelStatistic, bundle.getString("frmMain.TabStatistic.tabTitle"), new javax.swing.ImageIcon(getClass().getResource("/course_generator/images/stat.png"))); // -- Tab - Analysis // ---------------------------------------------------- jPanelAnalyze = new javax.swing.JPanel(); // TODO Define this panel addTab(TabbedPaneMain, jPanelAnalyze, bundle.getString("frmMain.TabAnalyze.tabTitle"), new javax.swing.ImageIcon(getClass().getResource("/course_generator/images/search.png"))); // -- Tab - Resume // ------------------------------------------------------ jPanelResume = new javax.swing.JPanel(); jPanelResume.setLayout(new java.awt.BorderLayout()); // -- Resume tool bar // --------------------------------------------------- Create_Resume_Toolbar(); jPanelResume.add(ToolBarResume, java.awt.BorderLayout.NORTH); TableResume = new javax.swing.JTable(); TableResume.setModel(ModelTableResume); TableResume.setRowHeight(20); TableResume.getTableHeader().setReorderingAllowed(false); TableResume.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); TableResume.getTableHeader() .setDefaultRenderer(new ResumeHeaderRenderer(TableResume.getTableHeader().getDefaultRenderer())); // TODO Change the Renderer name. Add Resume... TableResume.setDefaultRenderer(ResumeNumClass.class, new ResumeNumRenderer()); TableResume.setDefaultRenderer(ResumeNameClass.class, new ResumeNameRenderer()); TableResume.setDefaultRenderer(ResumeLineClass.class, new ResumeLineRenderer()); TableResume.setDefaultRenderer(ResumeElevationClass.class, new ResumeElevationRenderer()); TableResume.setDefaultRenderer(ResumeClimbPClass.class, new ResumeClimbPRenderer()); TableResume.setDefaultRenderer(ResumeClimbNClass.class, new ResumeClimbNRenderer()); TableResume.setDefaultRenderer(ResumeDistanceClass.class, new ResumeDistanceRenderer()); TableResume.setDefaultRenderer(ResumeTimeClass.class, new ResumeTimeRenderer()); TableResume.setDefaultRenderer(ResumeHourClass.class, new ResumeHourRenderer()); TableResume.setDefaultRenderer(ResumedtTimeClass.class, new ResumedtTimeRenderer()); TableResume.setDefaultRenderer(ResumeTimeLimitClass.class, new ResumeTimeLimitRenderer()); TableResume.setDefaultRenderer(ResumeStationTimeClass.class, new ResumeStationTimeRenderer()); TableResume.setDefaultRenderer(ResumedtDistanceClass.class, new ResumedtDistanceRenderer()); TableResume.setDefaultRenderer(ResumedtClimbPClass.class, new ResumedtClimbPRenderer()); TableResume.setDefaultRenderer(ResumedtClimbNClass.class, new ResumedtClimbNRenderer()); TableResume.setDefaultRenderer(ResumeSpeedPClass.class, new ResumeSpeedPRenderer()); TableResume.setDefaultRenderer(ResumeSpeedNClass.class, new ResumeSpeedNRenderer()); TableResume.setDefaultRenderer(ResumeAvgSlopePClass.class, new ResumeAvgSlopePRenderer()); TableResume.setDefaultRenderer(ResumeAvgSlopeNClass.class, new ResumeAvgSlopeNRenderer()); TableResume.setDefaultRenderer(ResumeAvgSpeedClass.class, new ResumeAvgSpeedRenderer()); TableResume.setDefaultRenderer(ResumeCommentClass.class, new ResumeCommentRenderer()); // TableResume.addMouseListener(new java.awt.event.MouseAdapter() { // public void mouseClicked(java.awt.event.MouseEvent evt) { // TableMainMouseClicked(evt); // } // }); // TableResume.addKeyListener(new java.awt.event.KeyAdapter() { // public void keyReleased(java.awt.event.KeyEvent evt) { // TableMainKeyReleased(evt); // } // }); // -- Add the grid to a scroll panel // ------------------------------------ jScrollPaneResume = new javax.swing.JScrollPane(); jScrollPaneResume.setViewportView(TableResume); jPanelResume.add(jScrollPaneResume, java.awt.BorderLayout.CENTER); addTab(TabbedPaneMain, jPanelResume, bundle.getString("frmMain.TabResume.tabTitle"), new javax.swing.ImageIcon(getClass().getResource("/course_generator/images/grid.png"))); // -- Map panel // --------------------------------------------------------- jPanelMap = new javax.swing.JPanel(); jPanelMap.setLayout(new java.awt.BorderLayout()); Create_Map_Toolbar(); jPanelMap.add(jToolBarMapViewer, java.awt.BorderLayout.WEST); MapViewer = new org.openstreetmap.gui.jmapviewer.JMapViewer(); MapViewer.setMapMarkerVisible(true); MapViewer.setScrollWrapEnabled(true); MapViewer.setZoomButtonStyle(org.openstreetmap.gui.jmapviewer.JMapViewer.ZOOM_BUTTON_STYLE.VERTICAL); MapViewer.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { MapViewerMouseClicked(evt); } }); jPanelMap.add(MapViewer, java.awt.BorderLayout.CENTER); jScrollPanelMap = new javax.swing.JScrollPane(); jScrollPanelMap.setViewportView(jPanelMap); SplitPaneMainRight.setRightComponent(jScrollPanelMap); // -- Finished - Pack // --------------------------------------------------- pack(); }