我已经创建了一个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();
我已经读过我尝试做的事情是可能的,为什么它不适合我?
答案 0 :(得分:1)
JFrame
和JDialog
top-level containers通常用作视图组件。通常,除了相对于其父框架定位对话框外,它们不进行通信。相反,请安排您的观看视频使用PropertyChangeEvent
进行通信,如example所示。拥有一个包含名义List<Product>
的单独模型,您可以使用所讨论的模式here。
答案 1 :(得分:0)
我在这里错过了很多背景,那对你不起作用的是什么?
我假设您在jframe.newEmployee();
命令上看到错误,说该方法未定义,如果是,那么这是合理的,因为JFrame类没有该方法,如果您的类是类{{1}它扩展了JFrame并使用了该方法,然后你需要做ProdJFrame