java - 我如何访问从 jframe 到 jpanel 的方法?
问题描述
在我的btcFrame
课堂上,我有方法
private void closeButtonMouseClicked(MouseEvent evt){
this.dispose();
}
在我BtcTitleBarPanel
的按钮中,我倾向于关闭框架。在构造函数中,我将我的侦听器添加到closeButton
如下所示。
closeButton.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent evt){
closeButtonMouseClicked(evt);
}
});
问题是我无法closeButtonMouseClicked
在面板中找到方法。我应该怎么做才能解决这个问题?
图片以防万一。 jframe 中的方法 jpanel 中的方法
解决方案
我会在Panel
for 中添加一个吸气剂closeButton
。在初始化之后Panel
,frame
我会将侦听器添加到Frame.
Like 中的按钮,btcPanel.getCloseButton().addActionListener(new ...);
并且在此动作侦听器中您可以关闭frame
,like btcFrame.this.dispose()
虽然我不确定这是否是一个好习惯,但我几乎总是为侦听事件创建新类,但是在您的这种情况下可能会有所帮助。
PS(题外话):你应该看看如何命名类和方法,你的命名风格是错误的。(即类以大写等开头)
推荐阅读
- javascript - Passport jwt 返回未经授权的状态码 401
- javascript - Promise、await/async 和 Promise.all:这一切什么时候解决?
- javascript - JavaScript 减法函数无法正常工作
- java - 有没有办法重构这些构造函数?
- c - ++structure.field 中的运算符层次结构
- android - Android Firebase 实时数据库删除 id 由 Firebase 命名的子节点
- r - 如何对给定的参数值进行回归并在绘图和 stagazer 中表示?
- api - 如何将图像(url 格式)从 Api 响应转换为 Base64
- ios - 无法从 TextField 颤振中退出
- r - 使用循环在 r 中创建具有 ICC 结果的表