为什么在我的java代码中创建了两个内部框架?

时间:2014-06-20 15:39:23

标签: java swing jlist

我正在尝试学习如何使用java swing组件。我一直在尝试建立类似弹出窗口的东西。当我们选择一个朋友时会弹出一个窗口弹出窗口。我有一个朋友列表。当用户从他的朋友列表中选择他的一个朋友时,我希望创建一个弹出窗口。但问题是,每次运行此代码时,都会弹出两个内部框架。我无法解决问题。这是代码段。 提前谢谢。

private void list2ValueChanged(javax.swing.event.ListSelectionEvent evt) {

    JInternalFrame f = new JInternalFrame((String)list2.getSelectedValue(), 
            false,true,false,true);  
    f.setSize(150,150);
    f.setVisible(true);
    desk.add(f,BorderLayout.SOUTH);

} 

此处桌面是JDesktopPane的变量名称。

1 个答案:

答案 0 :(得分:1)

每次选择更改时,ListSelectionListener都会生成多个事件。

您需要检查ListSelectionEvent.getValueIsAdjusting()以确保选择已完成调整

if (!event.getValueIsAdjusting())
    // create your internal frame.