我想要一组JRadioButton并在每个旁边有一个'i'图像,点击后会打开一个包含单选按钮旁边文本信息的新窗口。什么是最好的组件来对齐单选按钮旁边的小'i'标签?带有信息链接的JRadio按钮
0
A
回答
1
有一些可能性与样式做到这一点。
最简单的一个显然是把JButton
加上你的单选按钮旁边的“我”图像。使用正确的布局管理器(当然是GridBagLayout
)可以让您轻松对齐。
另一个可能是在您的单选按钮中设置客户端属性,然后让您的单选按钮渲染器(在look'n'feel中)使用此客户端属性来显示按钮旁边的“我”图标。不幸的是,这是一个有点难度最高的工具,因为它要求您正确管理单选按钮边界以在需要时包含图像(这也是在LnF中实现的,但并不容易找到)。
1
将您的图像作为javax.swing.ImageIcon
传递给JRadioButton
的构造函数。然后监听鼠标点击按钮,并检查鼠标指针的坐标是否在图像边界内。
0
我发现类似JLabel的东西对于问题'i'部分的组件类型最有用。类似于所有组件的JLabels可以将鼠标监听器添加到它们中,并且从那里您可以获得所需的访问权限,以便在用户单击某个组件时触发某些内容。
在下面的代码中,我使用了一个简单的FlowLayout,因为如果您不喜欢使用GridBayLayout,您会觉得这是一种合乎逻辑的配合以提供水平对齐。最终它将取决于你如何设置你的布局,但像FlowLayout这样的东西有助于这些情况。
看为一个例子,以下代码:
public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run() {
final JFrame f = new JFrame();
f.setLayout(new BorderLayout());
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel(new FlowLayout());
JLabel l = new JLabel(new ImageIcon(Main.class.getResource("info.png")));
l.addMouseListener(new MouseAdapter(){
@Override
public void mouseReleased(MouseEvent e) {
JOptionPane.showMessageDialog(f, "Clicked");
}
});
p.add(new JRadioButton());
p.add(l);
f.add(p, BorderLayout.CENTER);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
});
}
}
相关问题
- 1. 带链接的CSS按钮
- 2. 带链接按钮的CSS标题
- 3. 带按钮的单选按钮链接? [Android Studio]
- 4. 信息按钮(i)
- 5. iOS信息按钮
- 6. 链接按钮链接
- 7. 的链接按钮
- 8. 带有视频时间的链接按钮
- 9. Android按钮详细信息
- 10. rightBarButtonItem信息按钮,右边
- 11. 从按钮获取信息
- 12. 添加信息到按钮
- 13. UIScrolllView和信息按钮
- 14. 链接/按钮3.2.4+
- 15. GWT链接按钮
- 16. WPF链接按钮
- 17. POSTing链接信息PHP
- 18. 盘旋链接信息
- 19. 点击gridview中的链接按钮不会显示详细信息detailview
- 20. wpf中的链接按钮
- 21. 链接外面的按钮
- 22. 链接按钮的GridView
- 23. asp.net中的链接按钮?
- 24. 链接按钮的实现
- 25. 如何在链接中有一个不是链接的按钮
- 26. 想要HTML按钮发送带有输入详细信息的电子邮件
- 27. LoginView注销按钮没有链接
- 28. asp.net链接按钮没有射击
- 29. 按钮没有正确链接
- 30. Gridview链接按钮没有触发