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

声明:

该blog是为了收集资料,认识朋友,学习、提高技术,所以本blog的内容除非声明,否则一律为转载!!

感谢那些公开自己技术成果的高人们!!!

支持开源,尊重他人的劳动!!

常用链接

留言簿(3)

随笔分类(148)

随笔档案(143)

收藏夹(2)

其他

学习(技术)

观察思考(非技术)

搜索

  •  

最新评论

阅读排行榜

评论排行榜

代码:
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);
}

}

}



 问题的关键:

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

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

posted on 2007-11-07 09:57 lk 阅读(356) 评论(0)  编辑  收藏 所属分类: j2se

只有注册用户登录后才能发表评论。


网站导航: