gpt4 book ai didi

java - 当工具提示出现在按钮上时,鼠标事件不起作用

转载 作者:行者123 更新时间:2023-12-01 11:55:23 25 4
gpt4 key购买 nike

我的 Java 应用程序有一个问题,有太多工具提示。有时工具提示覆盖了按钮,我无法单击,因为它覆盖了。

我们有办法让工具提示对鼠标事件透明吗?然后,即使工具提示覆盖了该按钮,我也可以单击该按钮。

最佳答案

由于此源代码演示了如何为可以“点击”的按钮创建工具提示,我想问题的解决方案是“更改代码中的任何不同之处”。

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

public class TooltipButtonClickTest {

private JComponent ui = null;

TooltipButtonClickTest() {
initUI();
}

public void initUI() {
if (ui!=null) return;

ui = new JPanel(new GridLayout(0,8,2,2));
ui.setBorder(new EmptyBorder(4,4,4,4));

ActionListener listener = new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
System.out.println("action command: " + e.getActionCommand());
}
};
int sz = 15;
Insets pad = new Insets(sz,sz,sz,sz);
for (int i=1; i<65; i++) {
JButton b = new JButton(String.valueOf(i));
b.setMargin(pad);
b.setToolTipText("This is tool tip " +String.valueOf(i));
b.addActionListener(listener);
ui.add(b);
}
}

public JComponent getUI() {
return ui;
}

public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception useDefault) {
}
TooltipButtonClickTest o = new TooltipButtonClickTest();

JFrame f = new JFrame("???");
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setLocationByPlatform(true);

f.setContentPane(o.getUI());
f.pack();
f.setMinimumSize(f.getSize());

f.setVisible(true);
}
};
SwingUtilities.invokeLater(r);
}
}

关于java - 当工具提示出现在按钮上时,鼠标事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28493543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com