Как передать значение из JInternalFrame в JDialog

я просто хочу знать, как передать значение, подобное строке, от JInternalFrame до JDialog. JDialog — дочерняя форма, а JInternalFrame — родительская. Если вы можете, пожалуйста, покажите мне простой пример.

вот мой код, я хочу передать идентификатор из ProductDetails в AddQuantity, я пытался использовать статический, но он не работает

public class ProductDetails extends javax.swing.JInternalFrame {
String id;
    public ProductDetails() throws Exception {
        initComponents();
}
//This is a button to go to JDialog
 private void btnAddQuantityActionPerformed(java.awt.event.ActionEvent evt) {                                               
        id = txtID.getText();
        AddQuantity aq = new AddQuantity(null, true);
        aq.setLocationRelativeTo(aq);
        aq.setVisible(true);
}
}


public class AddQuantity extends javax.swing.JDialog {
    ProductDetails pd;
    public AddQuantity(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        //i use showMessage to show result but it show me nothing 
        JOptionPane.showMessageDialog(this, pd.id);
        txtCurrentID.setText(pd.id);
    }
    }

person user3571580    schedule 25.04.2014    source источник
comment
Вы должны показать некоторый код для лучших результатов и объяснить, что вы хотите передать, и нужно ли делиться состоянием и обновлять его. Контекст недостаточно ясен, чтобы получить правильный ответ.   -  person Paul Samsotha    schedule 25.04.2014
comment
В конструкторе класса, который использует JDialog? Разве не для этого нужны конструкторы классов?   -  person Gilbert Le Blanc    schedule 25.04.2014


Ответы (2)


Ну, по моему мнению, для этого нет конкретного метода, но вы можете сделать одну вещь: объявить данные статическими, и вы также можете получить доступ к этой статической вещи в диалоговом окне. Так что вы можете показать это там :)

Другое дело - метод Make с входными параметрами Dialog.

person Kishan Bheemajiyani    schedule 25.04.2014

  • Передайте свой JFrame как владелец JDialog.
  • Позвоните JDialog#getOwner(), чтобы узнать владельца
  • Получить желаемое значение от владельца
person Braj    schedule 25.04.2014
comment
извините, у меня ошибка, это JInteralFrame, а не JFrame. Я пытался передать JInternalFrame как владельца JDialog с помощью метода super(), но нет никакой возможности вернуть JInternalFrame, просто нужно вернуть Frame - person user3571580; 25.04.2014
comment
бросить его на JInternalFrame. - person Braj; 25.04.2014