【问题标题】:how to Inherit components?如何继承组件?
【发布时间】:2013-03-13 08:54:46
【问题描述】:

是否可以在不同的类中继承 jTextField、jComboBox 等组件?

if(!(jButton7.isEnabled()))
        {

            if((getTotal==enterPounds))
            {
                JOptionPane.showMessageDialog(null,"\n"+jTextPane1.getText());

                int x = jList1.getSelectedIndices()[0];
                int i = Integer.parseInt(stringssssss[x]);
                int oook= Integer.parseInt(seats);

                i=i-oook;
                stringssssss[x]= stringssssss[x]= ""+i;
                jTextField8.setText(""+ stringssssss[x]);           
            }

上面的代码在g.java中,我可以把它转移到另一个类并调用g.java中的方法吗?

【问题讨论】:

  • 是的,只需在 g.java 中公开该方法即可。这种技术称为封装。
  • JSomething 旨在按原样使用,扩展。顺便说一句,您的 sn-p 中没有任何东西可以扩展(又名:继承)。
  • 不确定您到底想继承什么(成员、方法?)以及您的具体计划是什么...请提供更多详细信息?

标签: java eclipse swing inheritance multiple-inheritance


【解决方案1】:

您可以从另一个类调用此代码,例如,如果您将代码包装在如下方法中。

public void setText() {
if(!(jButton7.isEnabled()))
        {

            if((getTotal==enterPounds))
            {
                JOptionPane.showMessageDialog(null,"\n"+jTextPane1.getText());

                int x = jList1.getSelectedIndices()[0];
                int i = Integer.parseInt(stringssssss[x]);
                int oook= Integer.parseInt(seats);

                i=i-oook;
                stringssssss[x]= stringssssss[x]= ""+i;
                jTextField8.setText(""+ stringssssss[x]);           
            }
}
}

然后在另一个班级做

private R r = new R();
r.setText();

如果您想真正从 R 中继承变量,请在 R 中将它们设置为受保护的,然后编写一个扩展 R 的新类。这些变量随后将可用于这个新类。

【讨论】:

  • 可能,但你不应该也不想做的事
猜你喜欢
  • 2020-10-07
  • 2017-03-12
  • 2019-07-02
  • 1970-01-01
  • 2018-04-20
  • 2017-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多