我在我的表单JList
组件中有,我希望当用户从中选择项目时,JList
在现有的JLayeredPanel
带有项目名称的面板上添加一个新面板。有我的面板:
package forme;
/**
*
* @author Administrator
*/
public class PanelProcesses extends javax.swing.JPanel {
/**
* Creates new form PanelProcesses
*/
public PanelProcesses() {
initComponents();
}
PanelProcesses(String name) {
initComponents();
jlbProcess.setText(name);
}
}
当用户点击项目时,主表单中有方法JList
:
private void jlProcessesMouseClicked(java.awt.event.MouseEvent evt) {
Process p = (Process) jlProcesses.getSelectedValue();
System.out.println(p.getName());
PanelProcesses pp = new PanelProcesses(p.getName());
pp.setOpaque(true);
// pp.setVisible(true);
jlpProcesses.add(pp);
jlpProcesses.repaint();
jlpProcesses.setVisible(true);
//this.setVisible(true);
}
问题是当我单击项目面板时未附加到JLayeredPanel
(jlpProcesses)。有人知道我在哪里犯错吗?通过调试模式,我看到创建了新实例操作PanelProcess
,并且可见属性为真。