========================================= 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(304, 215)); this.setTitle("JMemoryDemo"); jLabel1.setFont(new java.awt.Font("Dialog", 0, 14)); jLabel1.setHorizontalAlignment(SwingConstants.CENTER); jLabel1.setText("Memory Monitor"); jProgressBar1.setOrientation(JProgressBar.VERTICAL); jProgressBar1.setFont(new java.awt.Font("Dialog", 0, 14)); jProgressBar1.setToolTipText(""); jProgressBar1.setStringPainted(true); jLabel2.setFont(new java.awt.Font("Dialog", 0, 14)); 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); } } } ====================================================================== 提示如下: ====================================================================== 问题的要害: totle=(int)(Runtime.getRuntime().totalMemory()/1024); free=(int)(Runtime.getRuntime().freeMemory()/1024); =================================================== 有什么问题,可以发Email:dw5189@163.com ======================================== ======================================== ========================================
提供最新版的JCreator PRO build 3.00.094
http://www.jcreator.com/download.htm
Username: P145460-Brian Luke
Key: 00HE3T-MX6F41-7E9CFN-68745A-RD1PAJ-0GKKPP-YYJVDR-CXJXHG-6GFXX8 ======================================== ======================================== ========================================
提供JCreator PRO build 2.50序列号:
注册码: etalking niit P-etalking niit 36336-27630-63362-56226-23628
|