我正在尝试使用JXHyperlink创建一个按钮,其中JXHyperlink的整个空间应该是可单击的/触发鼠标悬停效果,并且整个按钮在聚焦时(例如,在按动按钮时)都被“标记”。
我有一些看起来像这样的代码:
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
JXHyperlink button = new JXHyperlink();
button.setText("button");
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = gbc.weighty = 1;
gbc.fill = GridBagConstraints.BOTH;
panel.add(button, gbc);
如果将JXHyperlink替换为JButton,则可以在按钮中的任何位置单击/鼠标悬停。在按钮上,我还尝试将首选大小,最小大小和最大大小设置为面板的大小,但没有任何效果(至少没有宽度)。在按钮上调用例如setHorizontalAlignment(...)似乎也没有效果。
为什么GridBagConstraints.BOTH可以用于JButton,但不能用于JXHyperlink?以及如何使JXHyperlink与GridBagConstraints.BOTH(其父级的填充大小)一起使用?