macOS上JToolbar内的JToggleButton-没有被按下的迹象

时间:2019-05-31 12:56:26

标签: java macos swing jtoolbar jtogglebutton

我似乎无法在JToolbar中使用简单的切换按钮。

此示例程序将一个按钮组中的三个切换按钮添加到JToolbar。在macOS上,仅当应用失去焦点时,当前切换按钮才可见。

focused

no focus

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

public class Foo extends JFrame {

    public Foo() {
        setTitle("Foo");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(new BorderLayout());

        JToolBar toolbar = new JToolBar();
        toolbar.setFloatable(false);
        add(toolbar, BorderLayout.NORTH);

        JToggleButton well = new JToggleButton("Well Done"); 
        JToggleButton medium = new JToggleButton("Medium");
        JToggleButton rare = new JToggleButton("Rare");

        toolbar.add(well);
        toolbar.add(medium);        
        toolbar.add(rare);

        ButtonGroup group = new ButtonGroup();
        group.add(well);
        group.add(medium);
        group.add(rare);

        setSize(400, 300);
        setLocationRelativeTo(null);
    }

    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (UnsupportedLookAndFeelException e) {
        } catch (ClassNotFoundException e) {   
        } catch (InstantiationException e) {
        } catch (IllegalAccessException e) {
        }

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Foo().setVisible(true);
            }
        });
    }
}

在macOS上使用切换按钮是否存在已知问题?有任何解决方法吗?

这是与macOS版本10.14.5,Oracle / OpenJDK JRE / JDK 1.8和11一起提供的。

0 个答案:

没有答案