我需要一个这样的例子: 我有一个画布。它会不断刷新,我想让这个画布的区域可点击,就像画布的某个矩形区域可点击,但不是整个画布。设置一个可以点击的画布的某个区域
1
A
回答
2
一个简单的方法来做到这一点是添加透明的按钮,你想要的“背景”是可点击:
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
public class APanel extends JPanel{
APanel(){
setPreferredSize(new Dimension(600,400));
setBackground(Color.YELLOW); //panel color to make it distinct
//add button
JButton btn = new JButton();
btn.setPreferredSize(new Dimension(100,30)); //use layout manager to place it where you want
btn.setContentAreaFilled(false);//make btn transparent
btn.setCursor(new Cursor(Cursor.HAND_CURSOR));//change button cursor
//optionally : remove border by btn.setBorder(null);
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("button pressed !");
}
});
add(btn);
}
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
JPanel panel = new APanel();
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
+0
我放弃了画布,只是将其画到面板上,并将面板上的按钮定位到面板上的任何位置,并将按钮添加到图像中。现在看起来很棒!谢谢您的帮助。 – conku
2
可以使用LayerLayout,它可以在上面添加彼此
甲分层窗格的部件是一个Swing容器,提供了一个第三维 用于定位组件:深度,也称为Z次序。将分量 添加到分层窗格中时,可以将其深度指定为整数。 数字越大,组件越靠近容器内的“顶部”位置 。如果组件重叠,则“较近”的组件在较低深度处绘制在组件顶部。深度相同的组件之间的关系 由它们在深度内的位置 确定。
+0
这也帮助了我,谢谢! – conku
相关问题
- 1. 如何在点击画布上的某个区域时运行某个功能
- 2. 动画后可点击的区域
- 3. jQuery的可点击区域内创建一个盲区
- 4. 如何使用画布去除透明可点击区域
- 5. 如何在画布中添加可点击区域
- 6. 如何使整个区域可点击?
- 7. 画布中的多个裁剪区域?
- 8. 鼠标在某个区域内点击一段时间
- 9. 一个SQL Server的设置区域2005
- 10. 在Android开发中,如何实现点击某个背景的某个区域?
- 11. 加载区域点击另一个jvectormap
- 12. jQuery maphilight设置区域始终点击
- 13. 如何响应某个区域之外的点击?
- 14. 一个可点击的布局
- 15. 强制HTML画布仅在某些图形的某个区域上绘制
- 16. 可定位的可点击区域
- 17. 与可点击区域
- 18. 可点击区域图像
- 19. MenuItem可点击区域
- 20. 我如何拥有一个图像,带有两个可点击的区域,每个区域都显示文字?
- 21. 在画布上点击点画一个矩形wpf
- 22. 在点击区域内制作一个页面刷新点击
- 23. 如何让儿童书插图的某些区域可点击?
- 24. 使某些区域的横幅图片可点击
- 25. 在背景图像上设置可点击区域
- 26. Swift - 在UIImageview上设置可点击区域
- 27. 进行布局的背景图像的可点击区域
- 28. 动画可点击的手风琴式区域?
- 29. 可点击的图像内的画布
- 30. three.js所 - 如何建立一个可点击区域的回调 - 3个JS
请尝试重组你的问题。 “我希望在这幅画布上出现一个Jbutton,当它被点击或者徘徊时会发生变化”对我来说并不清楚。 – c0der
我有一个画布。它会不断刷新,我想让这个画布的区域可点击,就像画布的某个矩形区域可点击,但不是整个画布。 – conku
谢谢。这更清楚。请相应地编辑您的问题。 – c0der