private void setLabelFont() {
        String facename = "" + this.facenameCombo.getSelectedItem();
        int style = 0;
        if (this.italicCheckBox.isSelected()) {
            style += Font.ITALIC;
        }
        if (this.boldCheckBox.isSelected()) {
            style += Font.BOLD;
        }

        int size = 0;
        final int SMALL_SIZE = 24;
        final int MEDIUM_SIZE = 36;
        final int LARGE_SIZE = 48;
        boolean isCustomSizeSet = false;
        if (this.smallButton.isSelected()) {
            size = SMALL_SIZE;
        } else if (this.mediumButton.isSelected()) {
            size = MEDIUM_SIZE;
        } else if (this.largeButton.isSelected()) {
            size = LARGE_SIZE;
        } else if (!isCustomSizeSet)
            if (this.customSizeButton.isSelected()) {
                try {
                    size = Integer.parseInt(JOptionPane.showInputDialog("Font size: "));
                    if (size <= 0) {
                        throw new IllegalArgumentException("Font size must be positive");
                    }
                    isCustomSizeSet = true;
                } catch (Exception exception) {
                    JOptionPane.showMessageDialog(null, "Font size must a positive integer", "INVALID FONT SIZE!",
                            JOptionPane.ERROR_MESSAGE);
                    size = SMALL_SIZE;
                    isCustomSizeSet = false;
                }
            }
        this.label.setFont(new Font(facename, style, size));
        this.label.repaint();
    }