Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Java - JLabel v JPanel - getParent() - PROSÍM O RADU

Dobrý den,

Vytvořil jsem panel a do něj vložil label.

Když kliknu na panel, tak se zavolá metoda, které předám ten panel.

Potřebuji však, aby se stalo to samé při kliknutí na label vložený na panelu.

Jenže, když zavolám funkci getParent().getName(), tak mi to vrátí null a setParent() tam žádné není.

Takže chci se zeptat, jak to mám nastavit?

Děkuji.

Předmět Autor Datum
http://stackoverflow.com/questions/1938774/jlabel- get-parent-panel scrolluj uplne naspodok label n…
MM.. 22.03.2017 17:46
MM..
Díky za radu. Najednou mi to začalo fungovat. javax.swing.JPanel jPanel1; javax.swing.JLabel jLabel… poslední
MichalDM 23.03.2017 19:48
MichalDM

Díky za radu. Najednou mi to začalo fungovat.

javax.swing.JPanel jPanel1;
javax.swing.JLabel jLabel1;
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel1.setLayout(null);
jLabel1.setText("jLabel1");
        jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
            @Override
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                vvv((JPanel)((JLabel) evt.getSource()).getParent());
            }
        });
        jPanel1.add(jLabel1);
        jLabel1.setBounds(100, 100, 41, 16);
        jPanel1.addMouseListener(new java.awt.event.MouseAdapter() {
            @Override
            public void mouseClicked(java.awt.event.MouseEvent e) {
                vvv((JPanel) e.getSource());
            }

        });
        getContentPane().add(jPanel1);
        jPanel1.setBounds(230, 160, 260, 210);
        setBounds(100, 100, 400, 400);
    }

    private static void vvv(javax.swing.JPanel panel) {
        System.out.println(panel.getWidth());
    }

Zpět do poradny Odpovědět na původní otázku Nahoru