隨筆 - 154  文章 - 60  trackbacks - 0
          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          聲明:

          該blog是為了收集資料,認(rèn)識朋友,學(xué)習(xí)、提高技術(shù),所以本blog的內(nèi)容除非聲明,否則一律為轉(zhuǎn)載!!

          感謝那些公開自己技術(shù)成果的高人們?。。?/p> 支持開源,尊重他人的勞動??!

          常用鏈接

          留言簿(3)

          隨筆分類(148)

          隨筆檔案(143)

          收藏夾(2)

          其他

          學(xué)習(xí)(技術(shù))

          觀察思考(非技術(shù))

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          代碼:
          package myprojects.jmemorydemo;
          import javax.swing.UIManager;
          import java.awt.*;
          public class JMemoryDemo {
          private boolean packFrame = false;
          public JMemoryDemo() {
          MainFrame frame 
          = new MainFrame();
          if (packFrame) {
          frame.pack();
          }

          else {
          frame.validate();
          }

          Dimension screenSize 
          = Toolkit.getDefaultToolkit().getScreenSize();
          Dimension frameSize 
          = frame.getSize();
          if (frameSize.height > screenSize.height) {
          frameSize.height 
          = screenSize.height;
          }

          if (frameSize.width > screenSize.width) {
          frameSize.width 
          = screenSize.width;
          }

          frame.setLocation((screenSize.width 
          - frameSize.width) / 2, (screenSize.height - frameSize.height)
          / 2);
          frame.setVisible(
          true);
          }

          public static void main(String[] args)
          {
          new JMemoryDemo();
          }

          }

          ===================================================
          package myprojects.jmemorydemo;
          import javax.swing.*;
          public class ProgressThread extends Thread {
          JProgressBar pbar;
          JLabel label;
          public ProgressThread(JProgressBar pbar,JLabel label) {
          this.pbar=pbar;
          this.label=label;
          }

          public void run() {
          int min=0;
          int max=100;
          int free=0;
          int totle=0;
          int status=0;
          pbar.setMinimum(min);
          pbar.setMaximum(max);
          pbar.setValue(status);
          while(true){
          try{
          totle
          =(int)(Runtime.getRuntime().totalMemory()/1024);
          free
          =(int)(Runtime.getRuntime().freeMemory()/1024);
          }
          catch(Exception e){
          e.printStackTrace();
          }

          label.setText(
          "Free Memory :"+(int)(Runtime.getRuntime().freeMemory()/1024)+"K"+" Totle Memory Allo
          cated :"
          +(int)(Runtime.getRuntime().totalMemory()/1024)+"K");
          status
          =(int)(free*100/totle);
          pbar.setValue(status);
          pbar.setString(
          "Free Momery "+ status+"%");
          try{
          this.sleep(1000);
          }
          catch(InterruptedException err){}
          }

          }

          }

          ===============================================
          package myprojects.jmemorydemo;
          import java.awt.*;
          import java.awt.event.*;
          import javax.swing.*;
          public class MainFrame extends JFrame {
          private JPanel contentPane;
          private BorderLayout borderLayout1 = new BorderLayout();
          private JProgressBar jProgressBar1 = new JProgressBar();
          private JLabel jLabel1 = new JLabel();
          private JLabel jLabel2 = new JLabel();
          public MainFrame() {
          enableEvents(AWTEvent.WINDOW_EVENT_MASK);
          try {
          jbInit();
          }

          catch(Exception e) {
          e.printStackTrace();
          }

          }

          private void jbInit() throws Exception {
          (MainFrame.
          class.getResource("[Your Icon]")));
          contentPane 
          = (JPanel) this.getContentPane();
          contentPane.setLayout(borderLayout1);
          this.setSize(new Dimension(304215));
          this.setTitle("JMemoryDemo");
          jLabel1.setFont(
          new java.awt.Font("Dialog"014));
          jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
          jLabel1.setText(
          "Memory Monitor");
          jProgressBar1.setOrientation(JProgressBar.VERTICAL);
          jProgressBar1.setFont(
          new java.awt.Font("Dialog"014));
          jProgressBar1.setToolTipText(
          "");
          jProgressBar1.setStringPainted(
          true);
          jLabel2.setFont(
          new java.awt.Font("Dialog"014));
          jLabel2.setText(
          "");
          contentPane.add(jProgressBar1, BorderLayout.CENTER);
          contentPane.add(jLabel1, BorderLayout.NORTH);
          contentPane.add(jLabel2, BorderLayout.SOUTH);
          ProgressThread pThread 
          = new ProgressThread(this.jProgressBar1,this.jLabel2);
          pThread.start();
          }

          protected void processWindowEvent(WindowEvent e) {
          super.processWindowEvent(e);
          if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          System.exit(
          0);
          }

          }

          }



           問題的關(guān)鍵:

            totle=(int)(Runtime.getRuntime().totalMemory()/1024);

            free=(int)(Runtime.getRuntime().freeMemory()/1024);

          posted on 2007-11-07 09:57 lk 閱讀(370) 評論(0)  編輯  收藏 所屬分類: j2se
          主站蜘蛛池模板: 民乐县| 大竹县| 巴南区| 连江县| 望奎县| 彭山县| 五常市| 桐梓县| 湖口县| 宜宾市| 峡江县| 珲春市| 塘沽区| 卓尼县| 象州县| 桐城市| 新巴尔虎左旗| 巴林右旗| 昂仁县| 江津市| 株洲市| 新巴尔虎右旗| 育儿| 永新县| 年辖:市辖区| 新津县| 上高县| 长岛县| 宜阳县| 江达县| 高雄市| 会昌县| 南平市| 绥江县| 宽甸| 玛曲县| 南雄市| 临颍县| 宜兰县| 丹东市| 平南县|