日期:2014-05-20  浏览次数:20778 次

关于jbutton[]遍历创建jbutton的点击事件,求大神关注
private JPanel addButtons(int i)
{
int num=mh.selectnum(i); //得到需要创建jbutton的数量
JButton[] jb=new JButton[num];//创建jbutton数组并实例化开辟内存空间
JPanel jbp=new JPanel();//创建jpanel容纳所穿件出来的button
jbp.setLayout(new FlowLayout(FlowLayout.LEFT,10,10));//设置jpanel布局
jbp.setPreferredSize(new Dimension(800,800)); //设置jpanel大小
ResultSet rs=mh.selectBoard(i); //穿件resultset接收数据
int j=0;
try {
while (rs.next()) {

String zh=Integer.toString(rs.getInt(3));//获得button上所要显示的字
jb[j]=new JButton(zh+rs.getString(2));//获得Id与zh进行字符串连接
jb[j].setPreferredSize(new Dimension(100, 100));//设置button大小
jbp.setOpaque(false);//设置jpanel为透明
jbp.add(jb[j]);//将button添加到jpanel
}
} catch (Exception e) {
// TODO: handle exception
  e.printStackTrace();//打印错误
}finally{
db.closeurl();//关闭连接
}

return jbp;
}


jbutton就这样创建了,但是如何响应鼠标点击的事件,难住我了,唉,感觉是费尽心思的挖了一个漂亮的坑,结果自己出不来了,求大神给串码提示,求大神解救!~解脱!~解放1~

------解决方案--------------------
Java code

private JPanel addButtons(int i)
{
int num=mh.selectnum(i); //得到需要创建jbutton的数量
JButton[] jb=new JButton[num];//创建jbutton数组并实例化开辟内存空间
JPanel jbp=new JPanel();//创建jpanel容纳所穿件出来的button
jbp.setLayout(new FlowLayout(FlowLayout.LEFT,10,10));//设置jpanel布局
jbp.setPreferredSize(new Dimension(800,800));    //设置jpanel大小
ResultSet rs=mh.selectBoard(i); //穿件resultset接收数据
int j=0;
try {
while (rs.next()) {

String zh=Integer.toString(rs.getInt(3));//获得button上所要显示的字
jb[j]=new JButton(zh+rs.getString(2));//获得Id与zh进行字符串连接
jb[j].setPreferredSize(new Dimension(100, 100));//设置button大小
// 在这里为按钮创建点击事件
jb[j].addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
       // TODO
   }
})
jbp.setOpaque(false);//设置jpanel为透明
jbp.add(jb[j]);//将button添加到jpanel
}
} catch (Exception e) {
// TODO: handle exception
  e.printStackTrace();//打印错误
}finally{
db.closeurl();//关闭连接
}

return jbp;
}