diff options
| author | Simon Rettberg | 2015-08-25 18:21:12 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2015-08-25 18:21:12 +0200 |
| commit | 6426cafcf65c8cda7b740ce5b2174d23165b2396 (patch) | |
| tree | b7ac311790042f7f1272a71d7bd21a436806fabe | |
| parent | Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff) | |
| download | tutor-module-6426cafcf65c8cda7b740ce5b2174d23165b2396.tar.gz tutor-module-6426cafcf65c8cda7b740ce5b2174d23165b2396.tar.xz tutor-module-6426cafcf65c8cda7b740ce5b2174d23165b2396.zip | |
[client] Display memory usage
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java | 56 |
1 files changed, 46 insertions, 10 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java index bb62da38..b6727d2c 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java @@ -15,8 +15,10 @@ import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; @@ -46,7 +48,10 @@ import org.openslx.dozmod.gui.window.VirtualizerNoticeWindow; import org.openslx.dozmod.state.UploadWizardState; import org.openslx.dozmod.thrift.GuiErrorCallback; import org.openslx.dozmod.thrift.Session; +import org.openslx.dozmod.util.FormatHelper; import org.openslx.thrifthelper.ThriftManager; +import org.openslx.util.QuickTimer; +import org.openslx.util.QuickTimer.Task; public abstract class MainWindow { @@ -310,7 +315,7 @@ public abstract class MainWindow { JMenuBar menuBar = new JMenuBar(); mainWindow.setJMenuBar(menuBar); - JMenu cascadeFileMenu = new JMenu("File"); + JMenu cascadeFileMenu = new JMenu("Session"); menuBar.add(cascadeFileMenu); JMenuItem logoutItem = new JMenuItem("Logout"); @@ -318,6 +323,21 @@ public abstract class MainWindow { JMenuItem exitItem = new JMenuItem("Exit"); cascadeFileMenu.add(exitItem); + // the About menu button + JMenu cascadeAboutMenu = new JMenu("About"); + menuBar.add(cascadeAboutMenu); + + JMenuItem disclaimerItem = new JMenuItem("Disclaimer"); + JMenuItem virtualizerNoticeItem = new JMenuItem("Virtualizer"); + cascadeAboutMenu.add(disclaimerItem); + cascadeAboutMenu.add(virtualizerNoticeItem); + + menuBar.add(Box.createHorizontalGlue()); + final JLabel memStats = new JLabel(); + menuBar.add(memStats); + + // Define actions + logoutItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -333,15 +353,6 @@ public abstract class MainWindow { } }); - // the About menu button - JMenu cascadeAboutMenu = new JMenu("About"); - menuBar.add(cascadeAboutMenu); - - JMenuItem disclaimerItem = new JMenuItem("Disclaimer"); - JMenuItem virtualizerNoticeItem = new JMenuItem("Virtualizer"); - cascadeAboutMenu.add(disclaimerItem); - cascadeAboutMenu.add(virtualizerNoticeItem); - disclaimerItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -355,6 +366,31 @@ public abstract class MainWindow { VirtualizerNoticeWindow.open(mainWindow); } }); + + // Debug label + + QuickTimer.scheduleAtFixedDelay(new Task() { + + @Override + public void fire() { + Runtime rt = Runtime.getRuntime(); + long maxMemory = rt.maxMemory(); + long totalMemory = rt.totalMemory(); + long usedMemory = totalMemory - rt.freeMemory(); + String txt = "[" + FormatHelper.bytes(usedMemory, false) + "/" + + FormatHelper.bytes(totalMemory, false); + if (maxMemory != Long.MAX_VALUE) { + txt += ", limit: " + FormatHelper.bytes(maxMemory, false); + } + final String labelText = txt + "]"; + Gui.asyncExec(new Runnable() { + @Override + public void run() { + memStats.setText(labelText); + } + }); + } + }, 10, 2001); } } |
