本次实习因为写java界面,有一个自定义对话框的需求,在网上查了一些才发现了一种方法,所以记录一下。具体需求类似于这样:按下一个按钮弹出一个输入界面,输入行李的长宽高,然后进行显示。需求很简单,最重要的是信息在两个界面之间传递。
具体实现
具体实现只讲比较重要的一些部分
- 编写界面继承自
JDialog
1 | public class BaggageGUI extends JDialog implements ActionListener{ |
- 在主界面当中创建该界面的引用,并设置
setModal()函数
如:我的主界面是CalculatorGUI,在CalculatorGUI当中我设置一个BaggageGUI的引用,q
说是子窗口也行。
1 | BaggageGUI baggageGUI = new BaggageGUI(); |
然后在构造CalculatorGUI的时候调用baggageGUI的setModal()函数
1 | baggageGUI.setVisible(true); |
该函数的作用为设置对话框为”模态“,模态对话框,关闭当前对话框前,无法操作其他窗口,这样可以阻塞主对话框,让我在对baggageGUI输入后,再变成运行状态,然后可以顺利取得我设置的行李。
- 在按钮按下事件当中调用
baggageGUI,让其显示
1 | addBagBut.addActionListener(new ActionListener(){ |
显示效果
主界面:

BaggageGUI界面:

添加之后:

补充java的对话框使用
这部分是转载别人的博客,原博客这里
- showMessageDialog(只显示一个确定按钮的对话框)
- 普通对话框Java代码
1 | JOptionPane.showMessageDialog(null, "普通对话框"); |

- 警告提示框Java代码
1 | JOptionPane.showMessageDialog(null, "警告提示框", "Title",JOptionPane.WARNING_MESSAGE); |

- 错误提示框Java代码
1 | JOptionPane.showMessageDialog(null, "错误提示框", "Title",JOptionPane.ERROR_MESSAGE); |

- 基本提示框java代码
1 | JOptionPane.showMessageDialog(null, "最基本提示框", "Title",JOptionPane.PLAIN_MESSAGE); |

- showConfirmDialog(确认对话框,对话框的按钮通常为:“是”、“否”、“取消”和“确认”及其组合)。
- “是” “否”对话框Java代码
1 | int n = JOptionPane.showConfirmDialog(null, "你是否喜欢Java?", "Title",JOptionPane.YES_NO_OPTION); |

- showOptionDialog(自定义选择提示对话框)
1 | Object[] options ={ "喜欢", "不喜欢" }; //自定义按钮上的文字 |

- showInputDialog(下拉框或者输入框)
- 下拉框Java代码
1 | Object[] options ={ "苹果", "橘子", "香蕉" }; |

- 输入框Java代码
1 | JOptionPane.showInputDialog(null," Please input:\n","title",JOptionPane.PLAIN_MESSAGE); |

总结
写了一下java对话框相关的内容,用java写界面其实用的不多,但是有备无患记录一下。
转载:https://blog.csdn.net/qs17809259715/article/details/88062414
参考:https://blog.csdn.net/ayangann915/article/details/80410788