我正在尝试学习如何使用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的变量名称。
答案 0 :(得分:1)
每次选择更改时,ListSelectionListener都会生成多个事件。
您需要检查ListSelectionEvent.getValueIsAdjusting()
以确保选择已完成调整
if (!event.getValueIsAdjusting())
// create your internal frame.