JSpinner mit Zahl und Einheit

Aus Byte-Welt Wiki
Version vom 5. Juni 2019, 18:04 Uhr von L-ectron-X (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Datei:JSpinner mit Zahl und Einheit.png <syntaxhighlight lang="java"> import java.awt.*; import javax.swing.*; public class Main { public static void…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

JSpinner mit Zahl und Einheit.png

import java.awt.*;
import javax.swing.*;

public class Main {
    public static void main(String[] args) {
        JFrame.setDefaultLookAndFeelDecorated(true);
        new Main();
    }

    public Main() {
        JFrame f = new JFrame("JSpinner mit Zahl und Einheit");
        f.add(createCenterPanel());
        f.pack();
        f.setLocationRelativeTo(null);
        SwingUtilities.invokeLater(() -> {
            f.setVisible(true);
        });
    }
    
    private JPanel createCenterPanel() {
        JPanel panel = new JPanel(new GridLayout(0, 2, 0, 10));
        panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));

        JComboBox<String> formatBox = new JComboBox<>(new String[]{"Benutzerdefiniert"});
        
        SpinnerNumberModel widthModel = new SpinnerNumberModel(21.0, 0.0, 42.0, 0.1);
        JSpinner widthSpinner = new JSpinner(widthModel);
        JComponent widthEditor = new JSpinner.NumberEditor(widthSpinner, "#.0# cm");
        widthSpinner.setEditor(widthEditor);
        
        SpinnerNumberModel heightModel = new SpinnerNumberModel(29.7, 0.0, 42.0, 0.1);
        JSpinner heightSpinner = new JSpinner(heightModel);
        JComponent heightEditor = new JSpinner.NumberEditor(heightSpinner, "#.0# cm");
        heightSpinner.setEditor(heightEditor);

        panel.add(new JLabel("Format:", JLabel.LEADING));
        panel.add(formatBox);
        
        panel.add(new JLabel("Breite:", JLabel.LEADING));
        panel.add(widthSpinner);
        
        panel.add(new JLabel("Höhe:", JLabel.LEADING));
        panel.add(heightSpinner);

        return panel;
    }
}