Linux (CentOS 7): JDialog (JColorChooser, JFileChooser) с кнопкой «Свернуть»

Я тестировал JColorChooser в своем Java-приложении, используя macOS, Windows и Linux (CentOS 7).

В CentOS отображаются кнопки «Свернуть», «Развернуть» и «Закрыть», в macOS — только кнопки «Развернуть» и «Закрыть», наконец, в Windows — только кнопка «Закрыть».

Проблема заключалась в том, что я нажал кнопку "Свернуть" в CentOS, и мне нужно было закрыть приложение.

На мой взгляд, эта кнопка не должна отображаться, потому что когда вы нажимаете приложение, оно блокируется и больше не позволяет вам работать.

Использование Windows 10

Изображение с использованием Windows 10

Использование macOS

Изображение с использованием macOS

Использование CentOS 7

Изображение с использованием Linux (CentOS 7)

Вот код:

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

public class JDialogMinimizeButtonLinux extends JFrame {

  public JDialogMinimizeButtonLinux() {

        JButton button = new JButton("JDialog showing Minimize Button On Linux");
        button.addActionListener(new ActionListener() {
            @Override public void actionPerformed( ActionEvent evt) {
                new JColorChooser().showDialog(
            JDialogMinimizeButtonLinux.this,
            "Minimize Button Locks this Example on Linux", Color.gray);
            }
        });

    JPanel outer = new JPanel();
    outer.setLayout(new BoxLayout(outer, BoxLayout.LINE_AXIS));
    outer.add(button);
    add(outer);

    setSize(600, 300);
    setVisible(true);
  }

    public static void main( String args[] ) {
        try {
            UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
        } catch (ClassNotFoundException | InstantiationException |
                IllegalAccessException | UnsupportedLookAndFeelException ex) {
            System.out.println("ex:" + ex.toString());
        }
        JDialogMinimizeButtonLinux app = new JDialogMinimizeButtonLinux();
        app.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
}

Теперь Вопросы:

это происходит только в CentOS?

Это считается ошибкой?

Для меня это плохая реализация JColorChooser и JFileChooser или их родительского класса JDialog в Linux.


person Chepe Questn    schedule 10.03.2018    source источник