use of javax.swing.Timer in project Universal-G-Code-Sender by winder.
the class SendStatusPanel method beginSend.
private void beginSend() {
// Timer for updating duration labels.
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
update();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
};
this.resetTimerLabels();
if (timer != null) {
timer.stop();
}
timer = new Timer(1000, actionListener);
try {
timer.start();
} catch (Exception e) {
timer.stop();
GUIHelpers.displayErrorDialog(e.getMessage());
}
}
use of javax.swing.Timer in project Universal-G-Code-Sender by winder.
the class SendStatusLine method beginSend.
private void beginSend() {
// Timer for updating duration labels.
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
setText(String.format(SEND_FORMAT, backend.getNumSentRows(), backend.getNumRows(), Utils.formattedMillis(backend.getSendDuration()), Utils.formattedMillis(backend.getSendRemainingDuration())));
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
};
if (timer != null) {
timer.stop();
}
timer = new Timer(1000, actionListener);
try {
timer.start();
} catch (Exception e) {
timer.stop();
GUIHelpers.displayErrorDialog(e.getMessage());
}
}
use of javax.swing.Timer in project WorldPainter by Captain-Chaos.
the class App method createStatusBar.
private JPanel createStatusBar() {
JPanel statusBar = new JPanel();
statusBar.setLayout(new FlowLayout(FlowLayout.LEADING));
locationLabel = new JLabel(MessageFormat.format(strings.getString("location.0.1"), -99999, -99999));
locationLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
statusBar.add(locationLabel);
heightLabel = new JLabel(MessageFormat.format(strings.getString("height.0.of.1"), 9999, 9999));
heightLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
statusBar.add(heightLabel);
slopeLabel = new JLabel("Slope: 90°");
slopeLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
statusBar.add(slopeLabel);
materialLabel = new JLabel(MessageFormat.format(strings.getString("material.0"), Material.MOSSY_COBBLESTONE.toString()));
materialLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
statusBar.add(materialLabel);
waterLabel = new JLabel(MessageFormat.format(strings.getString("fluid.level.1.depth.2"), 9999, 9999));
waterLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
statusBar.add(waterLabel);
biomeLabel = new JLabel("Auto biome: Mega Spruce Taiga Hills (ID 161)");
biomeLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
statusBar.add(biomeLabel);
radiusLabel = new JLabel(MessageFormat.format(strings.getString("radius.0"), 999));
radiusLabel.setToolTipText(strings.getString("scroll.the.mouse.wheel"));
radiusLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
statusBar.add(radiusLabel);
zoomLabel = new JLabel(MessageFormat.format(strings.getString("zoom.0"), 3200));
zoomLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
statusBar.add(zoomLabel);
final JProgressBar memoryBar = new JProgressBar();
memoryBar.setBorder(new BevelBorder(BevelBorder.LOWERED));
java.awt.Dimension preferredSize = memoryBar.getPreferredSize();
preferredSize.width = 100;
memoryBar.setPreferredSize(preferredSize);
memoryBar.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (logger.isDebugEnabled()) {
logger.debug("Forcing garbage collect");
}
System.gc();
}
});
statusBar.add(memoryBar);
new Timer(2500, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
long free = runtime.freeMemory();
long total = runtime.totalMemory();
long max = runtime.maxMemory();
long inUse = total - free;
memoryBar.setValue((int) (inUse * 100 / max));
int inUseMB = (int) (inUse / ONE_MEGABYTE);
int maxMB = (int) (max / ONE_MEGABYTE);
memoryBar.setToolTipText(MessageFormat.format(strings.getString("memory.usage.0.mb.of.1.mb"), inUseMB, maxMB));
}
private final Runtime runtime = Runtime.getRuntime();
}).start();
return statusBar;
}
use of javax.swing.Timer in project WorldPainter by Captain-Chaos.
the class WorldMorph method main.
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
final WorldPainter view = new WorldPainter(createNewWorld().getDimension(0), new DynMapColourScheme("default", true), null, null);
JFrame frame = new JFrame("WorldMorph");
frame.getContentPane().add(view, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
Timer timer = new Timer(2000, e -> view.setDimension(createNewWorld().getDimension(0)));
timer.start();
});
}
use of javax.swing.Timer in project WorldPainter by Captain-Chaos.
the class ThreeDeeView method hierarchyChanged.
// HierarchyListener
@Override
public void hierarchyChanged(HierarchyEvent event) {
if ((event.getChangeFlags() & HierarchyEvent.DISPLAYABILITY_CHANGED) != 0) {
if (isDisplayable()) {
// for (Tile tile: dimension.getTiles()) {
// threeDeeRenderManager.renderTile(tile);
// }
timer = new Timer(250, this);
timer.start();
} else {
timer.stop();
timer = null;
threeDeeRenderManager.stop();
for (Tile tile : dimension.getTiles()) {
tile.removeListener(this);
}
dimension.removeDimensionListener(this);
}
}
}
Aggregations