私は自分のフォーム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) に接続されていないことです。誰かが私がどこを間違えているか知っていますか? デバッグ モードでは、新しいインスタンス opPanelProcess
が作成され、属性の表示が true になっていることがわかります。