2015-12-02 62 views
1

我的问题是关于在java中使用具有图形用户界面的接口类。java中的gui接口类?

现在我有有这样的方法接口类:

public interface management 
{ 
    public void loginActionPerformed(java.awt.event.ActionEvent evt); 
} 

然后创建一个实现该接口,但这个类中写入的GUI设计和有一个按钮,将实施方法登录一类

问题:按钮方法是私人的,不能转换为公开,因为iam使用拖放来进行设计。

如何解决这个问题或如何使用gui设计接口类?具有设计类的

代码:

public class employee extends javax.swing.JFrame implements management 
{ 
private void loginActionPerformed(java.awt.event.ActionEvent evt) { 
    // implementation 
    } 
} 
+0

这是不是真的东西,可以是固定的:这种方法应该是'public'因为一个整点接口是定义你的类可以做什么,所以从接口实现的方法应该是“public”。我不清楚为什么你不能只将“private”这个词改为“public”。 –

+0

我正在使用netbeans 8.0.2编辑器...这个程序不允许修改器私有被更改为公共,并且不知道原因。 – MHM

+0

我对IDE并不熟悉,但我想说的是,您需要找到一种方法将其更改为'public',因为'private'关键字会影响接口的用途。对不起,我不能帮助具体。 –

回答

1

Java doesn't allow private methods in interfaces

可能的解决方法解决方案是在接口和委托的实现中使用另一种方法名称:

public class Employee extends javax.swing.JFrame implements Management 
{ 
    @Override 
    public void myLoginActionPerformed(java.awt.event.ActionEvent evt) { 
     loginActionPerformed(evt); 
    } 

    // @javax.annotation.Generated 
    private void loginActionPerformed(java.awt.event.ActionEvent evt) { 
     // implementation 
    } 
} 

public interface Management 
{ 
    void myLoginActionPerformed(java.awt.event.ActionEvent evt); 
} 
+0

一个很好的解决方案,先生,我欣赏它。但问题是私有方法是我在运行我的应用程序时应点击的按钮。所以私人方法的实施应该直接执行时点击按钮 – MHM

+0

随着你张贴的元素我不明白为什么,也许你应该澄清你的问题 – 2015-12-02 17:57:34

+0

我提供了我的问题的全部细节......我写的方法是一个应该点击的按钮...我也提供了详细信息,并说使用图形用户界面的接口类...请再次审查 – MHM

0

终于让我找到了我的问题的解决方案:

类似这样的接口类:

public interface Management 
{ 
    public void login(Account a); // object from a class instead of gui frame. 
} 

类实现的接口:

public class Employee extends javax.swing.JFrame implements Management 
{ 
    private void loginActionPerformed(java.awt.event.ActionEvent evt) { 
    Account a = new Account(); 
    login(a); 
    // button method that should clicked on. 
    } 
} 

public void login(Account a) 
{ 
    // implementation of what button should do when clicked on. 
} 

特别感谢@RC :)