package org.xhtmlrenderer.demo.browser;
import java.awt.BorderLayout;
import java.awt.Insets;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class BrowserStatus extends JPanel {
private static final long serialVersionUID = 1L;
public JLabel text, memory;
public void init() {
createComponents();
createLayout();
createEvents();
}
public void createComponents() {
text = new JLabel("Status");
memory = new JLabel("? MB / ? MB");
}
public void createLayout() {
setLayout(new BorderLayout(5, 5));
add("Center", text);
add("East", memory);
}
public Insets getInsets() {
return new Insets(3, 4, 3, 4);
}
public void createEvents() {
new Thread(new Runnable() {
public void run() {
while (true) {
try {
Runtime rt = Runtime.getRuntime();
long used = rt.totalMemory() - rt.freeMemory();
long total = rt.totalMemory();
used = used / (1024 * 1024);
total = total / (1024 * 1024);
final String text = used + "M / " + total + "M";
SwingUtilities.invokeLater(new Runnable() {
public void run() {
memory.setText(text);
}
});
Thread.sleep(5000);
} catch (InterruptedException e) {
break;
}
}
}
}).start();
}
}