package art.servers.gui.components; import art.library.gui.flat.FlatPanel; import art.library.gui.flat.FlatSplitPane; import art.library.gui.flat.FlatWindow; import art.library.model.devices.application.ApplicationStatus; import art.servers.Shared; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import javax.swing.JSplitPane; public class PanelProcess extends PanelGeneric { private FlatWindow window = null; private FlatSplitPane flatSplitPane1 = null; private PanelProcess_Information panelSystem_Information = null; private PanelProcess_Chart panelSystem_CPU = null; private PanelProcess_Chart panelSystem_Memory = null; private PanelProcess_Chart panelProcess_CPU = null; private PanelProcess_Chart panelProcess_Memory = null; public PanelProcess(FlatWindow window) { this.window = window; initialise(); } public void selection() { } public void deselection() { } public void timer() { ApplicationStatus status = Shared.controllerProcessInformation.getApplicationStatus(); if (panelSystem_Information != null) panelSystem_Information.reload(status); if (panelSystem_CPU != null) panelSystem_CPU.reload(status.system.systemCpuLoad * 100); if (panelSystem_Memory != null) { long totalPhysicalMemory = status.system.totalPhysicalMemorySize / 1048576; long usedMemory = (status.system.totalPhysicalMemorySize - status.system.freePhysicalMemorySize) / 1048576; panelSystem_Memory.reload(totalPhysicalMemory, usedMemory); } if (panelProcess_CPU != null) panelProcess_CPU.reload(status.system.processCpuLoad * 100); if (panelProcess_Memory != null) { long totalPhysicalMemory = status.memory.heapMemoryUsage_max / 1048576; long usedMemory = (status.memory.heapMemoryUsage_committed + status.memory.nonheapMemoryUsage_used - totalPhysicalMemory) / 1048576; panelProcess_Memory.reload(totalPhysicalMemory, usedMemory); } } private void initialise() { flatSplitPane1 = new FlatSplitPane(); { FlatPanel panel1 = new FlatPanel(); { panelSystem_Information = new PanelProcess_Information(); panel1.setLayout(new BorderLayout()); panel1.add(panelSystem_Information, BorderLayout.CENTER); } FlatPanel panel2 = new FlatPanel(); { panelSystem_CPU = new PanelProcess_Chart("System %CPU", "System %CPU"); panelSystem_Memory = new PanelProcess_Chart("System, used memory (MB)", "System, used memory (MB)"); panelProcess_CPU = new PanelProcess_Chart("Process %CPU", "Process %CPU"); panelProcess_Memory = new PanelProcess_Chart("Process, used memory (MB)", "Process, used memory (MB)"); panel2.setLayout(new GridLayout(2, 2)); panel2.add(panelSystem_CPU); panel2.add(panelSystem_Memory); panel2.add(panelProcess_CPU); panel2.add(panelProcess_Memory); } flatSplitPane1.setOrientation(JSplitPane.HORIZONTAL_SPLIT); flatSplitPane1.setLeftComponent(panel1); flatSplitPane1.setRightComponent(panel2); flatSplitPane1.setOneTouchExpandable(); flatSplitPane1.changeDividerSize(16); flatSplitPane1.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { flatSplitPane1.setDividerLocation(480); } }); } this.setLayout(new BorderLayout()); this.add(flatSplitPane1, BorderLayout.CENTER); } }