Linux (CentOS 7): JDialog (JColorChooser, JFileChooser), показывающий кнопку свертывания
Я тестировал JColorChooser в своем приложении Java, используя macOS, Windows и Linux (CentOS 7).
В CentOS отображаются кнопки "Свернуть", "Развернуть" и "Закрыть", в MacOS - только кнопки "Развернуть" и "Закрыть", и, наконец, в Windows - только кнопка "Закрыть".
Проблема заключалась в том, что я нажал кнопку "Свернуть" в CentOS, и мне нужно было закрыть приложение.
По моему мнению, эта кнопка не должна отображаться, потому что когда вы нажимаете приложение, оно блокируется и больше не позволяет вам работать.
Использование Windows 10
Использование macOS
Использование 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
в линуксе