从Jdialog传递到Jframe

时间:2014-04-19 12:36:33

标签: java swing jframe jdialog

我已经创建了一个JDialog,并用它传递了我的JFrame。

for (int i = 0; i < digiProdRadioBtns.length; i++) {
        if (digiProdCheck[i].isSelected()) {

            ProdDialog a = new ProdDialog(digiPopup[i], frame, digiProductList.getProduct(counter), digiProductList);
        } 

然后我尝试从JDialog中访问JFrame的方法,但不能。

public class ProdDialog extends JDialog {

cdDialog = new JDialog(jFrame, true);



 this.jframe = jFrame;
 jframe.newEmployee();

我已经读过我尝试做的事情是可能的,为什么它不适合我?

2 个答案:

答案 0 :(得分:1)

JFrameJDialog top-level containers通常用作视图组件。通常,除了相对于其父框架定位对话框外,它们不进行通信。相反,请安排您的观看视频使用PropertyChangeEvent进行通信,如example所示。拥有一个包含名义List<Product>的单独模型,您可以使用所讨论的模式here

答案 1 :(得分:0)

我在这里错过了很多背景,那对你不起作用的是什么?

我假设您在jframe.newEmployee();命令上看到错误,说该方法未定义,如果是,那么这是合理的,因为JFrame类没有该方法,如果您的类是类{{1}它扩展了JFrame并使用了该方法,然后你需要做ProdJFrame