JPopupMenu 中的 BeautyEye LaF JTextField 被禁用

BeautyEye LaF JTextField in JPopupMenu is disabled

我将 BeautyEye Laf 用于 Java Swing 应用程序。 我在 JPopupMenu 中设置 JTextField。无论我做什么,JTextField 都显示为已禁用。代码有点复杂,但我制作了这个易于测试的片段

public static void main(String[] s)
throws Exception 
{
    BeautyEyeLNFHelper.frameBorderStyle = BeautyEyeLNFHelper.FrameBorderStyle.generalNoTranslucencyShadow;
    org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();

    final JPopupMenu popupTable = new JPopupMenu();
    // find panel
    JLabel findLabel = new JLabel("Filter for:");
    findLabel.setPreferredSize(new Dimension(60, 20));
    final JTextField findTextField = new JTextField();
    findTextField.setColumns(10);

    final JPanel container = new JPanel();
    container.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 0));
    container.add(findLabel);
    container.add(findTextField);

    popupTable.add(container);

    JButton button = new JButton("Action");

    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
    buttonPanel.add(button);

    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout());
    panel.add(popupTable, BorderLayout.CENTER);
    panel.add(buttonPanel, BorderLayout.SOUTH);

    final JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(900, 800);
    frame.getContentPane().setLayout(new BorderLayout());
    frame.getContentPane().add(panel, BorderLayout.CENTER);
    frame.setVisible(true);

    button.addActionListener
    (
        new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                int x = (frame.getWidth() / 2);
                int y = (frame.getHeight() / 2);

                popupTable.show(frame, x, y);
            }
        }
    );
}

如果我删除 LaF(注释前两行),一切都会按预期进行。 JTextField 是可编辑的。我首先在这里问,希望我做错了什么。如果这被证明是一个错误,我将 post 作为 Github.

上的一个问题

最后是图书馆的一个小改动。来自作者:

You can find class org.jb2011.lnf.beautyeye.ch7_popup.TranslucentPopupFactory source code at line 416, change "setFocusableWindowState(false);" to "setFocusableWindowState(true);" or just delete this line.