- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一个用于 java 桌面应用程序的 Tray 类,我必须更新打开弹出窗口时使用的磁盘配额值
1)托盘类
public class Tray implements Observer {
static Logger log = Logger.getLogger(Tray.class);
static WDServer wds;
static StatusWindow sw;
boolean connected;
TrayIcon trayIcon;
String volSize = "";
public Tray() {
log.info("installing system tray menu");
if (SystemTray.isSupported()) {
TrayUtils tu = new TrayUtils(1000);
final SystemTray sysTray = SystemTray.getSystemTray();
final PopupMenu popup = new PopupMenu();
MenuItem quotaDisk = new MenuItem(tu.getLabelDisk());
popup.add(quotaDisk);
popup.addSeparator();
...
2) 具有可运行接口(interface)的嵌套 TrayUtils 类
public class TrayUtils extends Thread implements Runnable {
long delay;
long bytes;
String labelDisk = "";
public TrayUtils(long delay) {
this.delay = delay;
}
@Override
public void run() {
while (true) {
try {
setBytes(FileUtils.sizeOfDirectory(new File(System.getProperty("user.home") + "/.ubi/data")));
Thread.sleep(this.delay);
} catch (InterruptedException e) {
log.error("error checking disk space used");
}
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
setLabelDisk("Storage Used: " + FileUtils.byteCountToDisplaySize(getBytes()));
}
});
}
}
<getters & setters here>
}
为什么我无法在弹出窗口中看到存储状态?实现这些功能的正确设计是什么?
我必须使用awt
,所以这里不欢迎JLabel
。
最佳答案
感谢 PM,javax.swing.Timer 完成了这项工作:
// Update space used every 1s
ActionListener taskQuota = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
quotaDisk.setLabel("Storage used: " + checkVolSize());
}
};
new Timer(1000, taskQuota).start();
关于java - 更新托盘中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19940560/
我想在同一运行时间内拥有多种货币。默认节点模板中插入了 Balances 托盘,但如果我正确的话,它只能处理一种货币。 如何多次重复使用托盘? 最佳答案 Pallet 可以实例化,这样您就可以在同一运
我正在尝试使用一段代码打开和关闭计算机的 CD 托盘。我一直在使用 MCI 命令,并将 winmm.lib 包含在我的项目配置的附加依赖项中。我还包含了 windows.h 和 mmsystem.h。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我正在使用electron-react-boilerplate开发 Electron 应用程序(使用electron-builder打包应用程序)。 我想创建托盘,但是它需要图标路径或 native
有没有办法选择在 Java 中打印时使用哪个出纸盒/托盘?有一个属性 MediaTray 允许您选择输入托盘,但我找不到允许您选择输出的属性。 最佳答案 除了MediaTray , 有一个 Desti
我是一名优秀的程序员,十分优秀!