标签:windowbuilder eclipse model-view-controller swing java
我想同时使用Window Builder和MVC范例.当Window Builder将所有代码添加到一个文件中时,它对于一个复杂的窗口来说非常混乱.
我希望创建的默认文件为“视图”.
我想将控制动作(事件侦听器)保留在“ controller”类中.有没有一种方法可以让“窗口”构建器自动将事件侦听器放入您选择的类中,而不是添加到一个整体文件中?
解决方法:
我不知道Eclipse的Window Builder如何工作,但我知道NetBeans创建匿名内部类,这些内部类为每个按钮调用一个自定义方法,然后允许程序员更改该自定义方法的主体.如果Eclipse很相似,那么您可以简单地让此自定义方法调用Control对象的方法.当然,它增加了一个间接层,但要让您完全控制您的控件,这是一个很小的代价.
例如,如果我创建一个名为“ myButton”的JButton,然后让代码生成器为我的按钮创建一个动作,它将创建以下代码:
myButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
myButtonActionPerformed(evt);
}
});
并允许我在生成的方法myButtonActionPerformed中访问和编写代码:
private void myButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
在此方法的内部,我将调用Control的方法:
private void myButtonActionPerformed(java.awt.event.ActionEvent evt) {
if (myControl != null) {
myControl.myButtonAction();
}
}
控件类可能看起来像
class MyControl {
void myButtonAction() {
//TODO: implement control code
}
}
GUI将需要setControl(MyControl myControl)方法,以便将控件“注入”到GUI中.
标签:windowbuilder,eclipse,model-view-controller,swing,java 来源: https://codeday.me/bug/20191202/2086982.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。