getParent для jframe, который является атрибутом JPanel - PullRequest
0 голосов
/ 26 мая 2011

У меня есть jpanel, который содержит jframe, когда я нажимаю кнопку на этом jframe, я хочу получить доступ к jpanel

Я использую метод getParent(), но он не работает

public class StorePanel extends javax.swing.JPanel {
private TableProducts tableproducts;
......
}

код jframe для получения родителя

private void confirmActionPerformed(java.awt.event.ActionEvent evt) {                                        

        StorePanel store=(StorePanel)this.getParent();
        store.getitemTable();
    .........
}

Спасибо

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

JComponent.getTopLevelAncestor () при условии соблюдения тех же условий, что и другие люди, которые ответили.

1 голос
/ 26 мая 2011

Я предполагаю, что ваш пост ошибочен, что JFrame содержит JPanel. Если это так, и если между JPanel и JFrame нет других контейнеров, получение родительского элемента, скорее всего, получит contentPane JFrame. Если вы хотите получить JFrame, попробуйте метод SwingUtilities # getWindowAncestor на JPanel.

В противном случае, если вы пытаетесь получить JPanel, который хранится в JFrame, вы можете рекурсивно выполнять итерации по его компонентам (через метод getComponents), но самый простой способ - передать ссылку на JPanel в JFrame. когда один или другой созданы или добавлены в другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...