Search in sources :

Example 36 with Timer

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());
    }
}
Also used : ActionListener(java.awt.event.ActionListener) Timer(javax.swing.Timer) ActionEvent(java.awt.event.ActionEvent) IOException(java.io.IOException)

Example 37 with Timer

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());
    }
}
Also used : ActionListener(java.awt.event.ActionListener) Timer(javax.swing.Timer) ActionEvent(java.awt.event.ActionEvent) IOException(java.io.IOException)

Example 38 with Timer

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;
}
Also used : BevelBorder(javax.swing.border.BevelBorder) Paint(org.pepsoft.worldpainter.painting.Paint) Timer(javax.swing.Timer) java.awt(java.awt)

Example 39 with Timer

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();
    });
}
Also used : Timer(javax.swing.Timer) JFrame(javax.swing.JFrame) DynMapColourScheme(org.pepsoft.worldpainter.colourschemes.DynMapColourScheme)

Example 40 with Timer

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);
        }
    }
}
Also used : Timer(javax.swing.Timer) Tile(org.pepsoft.worldpainter.Tile)

Aggregations

Timer (javax.swing.Timer)130 ActionEvent (java.awt.event.ActionEvent)66 ActionListener (java.awt.event.ActionListener)62 IOException (java.io.IOException)12 JPanel (javax.swing.JPanel)12 JLabel (javax.swing.JLabel)11 BorderLayout (java.awt.BorderLayout)9 Dimension (java.awt.Dimension)9 Point (java.awt.Point)9 Color (java.awt.Color)8 JCheckBox (javax.swing.JCheckBox)8 MouseEvent (java.awt.event.MouseEvent)7 JFrame (javax.swing.JFrame)7 MouseAdapter (java.awt.event.MouseAdapter)6 Window (java.awt.Window)5 JButton (javax.swing.JButton)5 JDialog (javax.swing.JDialog)5 JScrollPane (javax.swing.JScrollPane)5 File (java.io.File)4 Date (java.util.Date)4