📄 memoryframe.java
字号:
/*
Copyright (c) 2008, Intel Corporation.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
* Neither the name of Intel Corporation nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
*/import java.awt.BorderLayout;import java.awt.Toolkit;import javax.swing.*;import javax.swing.table.*;import com.intel.mobile.base.EventProperty;import com.intel.mobile.base.IntelMobileException;import com.intel.mobile.base.Property;import com.intel.mobile.storage.*;/** * <class or interface desc> */public class MemoryFrame extends JFrame{ private JPanel jContentPane = null; private static MemoryClass tempMemoryClass = null; private JTabbedPane jTabbedPane = null; private MemoryGeneralPanel jPanelGeneral = null; private MemoryAdvancedPanel jPanelAdvanced = null; private JPanel jPanelEvent = null; private ThresholdsPanel jThresholdPanel=null; private PropertyEventPanel jPropertyPanelEvent = null; private FunctionEventPanel jFunctionPanelEvent=null; private MemoryInstance myInstance = null; static { try { tempMemoryClass = new MemoryClass(); } catch (IntelMobileException ex) { ex.printStackTrace(); } } /** * This is the default constructor * @param myInstance */ public MemoryFrame(MemoryInstance myInstance) { super(); this.myInstance = myInstance; initialize(); } public MemoryFrame(String myInstanceKey) throws IntelMobileException { super(); this.myInstance = (MemoryInstance)tempMemoryClass.GetInstance(myInstanceKey); initialize(); } /** * This method initializes this * * @return void */ private void initialize() { this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Resx/Java-app_ico16.gif"))); this.setSize(620,430); this.setContentPane(getJContentPane()); this.setTitle("Memory Information"); this.setResizable(false); this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowActivated(java.awt.event.WindowEvent e) { try { jPanelGeneral.refresh(); jPanelAdvanced.refresh(); } catch (IntelMobileException ex) { ex.printStackTrace(); } } }); } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); jContentPane.add(getJTabbedPane(), BorderLayout.CENTER); } return jContentPane; } /** * This method initializes jTabbedPane * * @return javax.swing.JTabbedPane */ private JTabbedPane getJTabbedPane() { if (jTabbedPane == null) { jTabbedPane = new JTabbedPane(); jTabbedPane.addTab("General", null, getJPanelGeneral(), null); jTabbedPane.addTab("Advanced", null, getJPanelAdvanced(), null); jTabbedPane.addTab("Property Change Event", null, getJPanelPropertyEvent(), null); jTabbedPane.addTab("Function Event", null, getJPanelFunctionEvent(), null); jTabbedPane.addTab("Threshold", null, getJPanelThreshold(), null); initialFunctionEvent(); initialPropertyEvent(); } return jTabbedPane; } private void initialFunctionEvent() { AddFunctionEvent(this.myInstance.StatusChanged,"StatusChanged"); } private void AddFunctionEvent(EventProperty event, String eventName) { getJPanelFunctionEvent().PropertyEventPanel.dataModel.addEventItem(event,eventName,"",this.myInstance); } private void initialPropertyEvent() { AddProperty(this.myInstance.Capacity); AddProperty(this.myInstance.FreeSpace); } private void AddProperty(Property property) { try { if(!property.IsStatic()) { getJPanelPropertyEvent().PropertyEventPanel.dataModel.addEventItem(property,property.GetName(),"",this.myInstance); getJPanelThreshold().addPropertyItem(property); } }catch(IntelMobileException e) { } } /** * This method initializes jPanelGeneral * * @return javax.swing.JPanel */ private JPanel getJPanelGeneral() { if (jPanelGeneral == null) { jPanelGeneral = new MemoryGeneralPanel(myInstance); } return jPanelGeneral; } /** * This method initializes jPanelAdvanced * * @return javax.swing.JPanel */ private JPanel getJPanelAdvanced() { if (jPanelAdvanced == null) { jPanelAdvanced = new MemoryAdvancedPanel(myInstance); } return jPanelAdvanced; } private PropertyEventPanel getJPanelPropertyEvent() { if (jPropertyPanelEvent == null) { jPropertyPanelEvent = new PropertyEventPanel(); } return jPropertyPanelEvent; } private FunctionEventPanel getJPanelFunctionEvent() { if (jFunctionPanelEvent == null) { jFunctionPanelEvent = new FunctionEventPanel(); } return jFunctionPanelEvent; } private ThresholdsPanel getJPanelThreshold() { if (jThresholdPanel == null) { jThresholdPanel = new ThresholdsPanel(); } return jThresholdPanel; }}/** * internal class * <class or interface desc> */class MemoryGeneralPanel extends JPanel{ private javax.swing.JPanel jPanelInfo = null; private javax.swing.JLabel jLabel7 = null; private javax.swing.JLabel jLabel8 = null; private javax.swing.JLabel jLabelCapacity = null; private javax.swing.JLabel jLabelFreeSpace = null; private MemoryInstance myInstance = null; /** * Constructor * @param myInstance */ MemoryGeneralPanel(MemoryInstance myInstance) { this.myInstance = myInstance; this.setLayout(null); this.add(getJPanelInfo(), null); } void refresh() throws IntelMobileException { this.jLabelCapacity.setText( myInstance.Capacity.IsNull() ? "" : String.valueOf(myInstance.Capacity.GetValue()) ); this.jLabelFreeSpace.setText( myInstance.FreeSpace.IsNull() ? "" : String.valueOf(myInstance.FreeSpace.GetValue()) ); } /** * This method initializes jPanelInfo * * @return javax.swing.JPanel */ private javax.swing.JPanel getJPanelInfo() { if (jPanelInfo == null) { jPanelInfo = new javax.swing.JPanel(); jPanelInfo.setLayout(null); jPanelInfo.add(getJLabel7(), null); jPanelInfo.add(getJLabel8(), null); jPanelInfo.add(getJLabelCapacity(), null); jPanelInfo.add(getJLabelFreeSpace(), null); jPanelInfo.setBounds(18, 55, 550, 174); jPanelInfo.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Device", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); } return jPanelInfo; } /** * This method initializes jLabel1 * * @return javax.swing.JLabel */ /** * This method initializes jLabel7 * * @return javax.swing.JLabel */ private javax.swing.JLabel getJLabel7() { if (jLabel7 == null) { jLabel7 = new javax.swing.JLabel(); jLabel7.setBounds(20, 50, 100, 25); jLabel7.setText("Capacity(KB):"); } return jLabel7; } /** * This method initializes jLabel8 * * @return javax.swing.JLabel */ private javax.swing.JLabel getJLabel8() { if (jLabel8 == null) { jLabel8 = new javax.swing.JLabel(); jLabel8.setBounds(290, 50, 100, 25); jLabel8.setText("FreeSpace(KB):"); } return jLabel8; } /** * This method initializes jLabelCurFrequency * * @return javax.swing.JLabel */ private javax.swing.JLabel getJLabelCapacity() { if (jLabelCapacity == null) { jLabelCapacity= new javax.swing.JLabel(); jLabelCapacity.setBounds(140,50, 140, 25); jLabelCapacity.setText(""); } return jLabelCapacity; } /** * This method initializes jLabelStepping * * @return javax.swing.JLabel */ private javax.swing.JLabel getJLabelFreeSpace() { if (jLabelFreeSpace == null) { jLabelFreeSpace = new javax.swing.JLabel(); jLabelFreeSpace.setBounds(395, 50, 140, 25); jLabelFreeSpace.setText(""); } return jLabelFreeSpace; }}/** * internal class * <class or interface desc> */class MemoryAdvancedPanel extends JPanel{ private JScrollPane jScrollPane = null; private JTable jTable = null; private MemoryTableModel dataModel = new MemoryTableModel(); private MemoryInstance myInstance = null; /** * Constructor * @param myInstance */ MemoryAdvancedPanel(MemoryInstance myInstance) { this.myInstance = myInstance; this.setLayout(new BorderLayout()); this.add(getJScrollPane(), BorderLayout.CENTER); } void refresh() throws IntelMobileException { dataModel.initialize(); } /** * This method initializes jScrollPane * * @return javax.swing.JScrollPane */ private JScrollPane getJScrollPane() { if (jScrollPane == null) { jScrollPane = new JScrollPane(); jScrollPane.setViewportView(getJTable()); } return jScrollPane; } /** * This method initializes jTable * * @return javax.swing.JTable */ private JTable getJTable() { if (jTable == null) { jTable = new JTable(dataModel); } return jTable; } /** * internal class * <class or interface desc> */ class MemoryTableModel extends AbstractTableModel { private final String[] names = { "Attribute", "Value", "Description" }; private Object[][] data = new Object[32][3]; // These methods always need to be implemented. public int getColumnCount() { return names.length; } public int getRowCount() { return data.length; } public Object getValueAt(int row, int col) { return data[row][col]; } // The default implementations of these methods in // AbstractTableModel would work, but we can refine them. public String getColumnName(int column) { return names[column]; } public Class getColumnClass(int col) { return String.class; //return getValueAt(0, col).getClass(); } public boolean isCellEditable(int row, int col) { return false; } public void setValueAt(Object aValue, int row, int column) { data[row][column] = aValue; } // ------------- initialize -------------- private void initialize() throws IntelMobileException { int i = 0; if(!myInstance.Capacity.IsNull()) { data[i][0] = "Capacity"; data[i][1] = myInstance.Capacity.IsNull() ? "" : String.valueOf(myInstance.Capacity.GetValue()); data[i++][2] = ""; } if(!myInstance.FreeSpace.IsNull()) { data[i][0] = "FreeSpace"; data[i][1] = myInstance.FreeSpace.IsNull() ? "" : String.valueOf(myInstance.FreeSpace.GetValue()); data[i++][2] = ""; } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -