如下代码 ,我如何给每个JPanel加一个唯一标识,能够在监听的事件处理中,得到唯一的事件源
HashMap<String,JPanel>hash=newHashMap<String,JPanel>();for(inti=0;i<10;i++){JPanelpan...
HashMap<String,JPanel> hash = new HashMap<String,JPanel>();
for(int i = 0;i<10;i++){
JPanel panel = new Jpanel();
panel.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
}
});
} 展开
for(int i = 0;i<10;i++){
JPanel panel = new Jpanel();
panel.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
}
});
} 展开
1个回答
展开全部
不明白你说的唯一事件源的意思,你给每个panel添加监听器,触发mouseclick事件,触发到哪个就是哪个事件发生,然后执行你写的动作,而事件mouseevent封装了点击信息了,直接取出或打印就行了。
追问
就像上面的代码,每个JPanel的名都为panel,而且我是把他放到一个HashMap中的,这样也行么?
追答
你是为了表示每个panel是不也一样的,各自获取不同的事件,语法没有问题,但是这样做没有多大的意义,本来对象JPanel new出来之后,就各自不同,你用String标识panel也可以,但不知道你为什么这么做,不标识一样可以实现功能。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询