Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改不同类中JTextField的文本_Java_Swing_Netbeans_Jtextfield_Jsr296 - Fatal编程技术网

Java 更改不同类中JTextField的文本

Java 更改不同类中JTextField的文本,java,swing,netbeans,jtextfield,jsr296,Java,Swing,Netbeans,Jtextfield,Jsr296,如何从其他类更改jTextField的文本 假设我有一个类A,如果我选择一个项目并单击CreateCount。我在jTabbedPane中添加了一个同名选项卡。这个标签是B类的。 这方面的代码是: 单击“创建帐户”后,此函数addclass(mainCB.getSelectedIndex())已被调用 public void addclass(int a) { String s=(String) mainCB.getItemAt(a); //mainCB is variable nam

如何从其他类更改jTextField的文本

假设我有一个类A,如果我选择一个项目并单击CreateCount。我在jTabbedPane中添加了一个同名选项卡。这个标签是B类的。 这方面的代码是:

单击“创建帐户”后,此函数addclass(mainCB.getSelectedIndex())已被调用

 public void addclass(int a) {
    String s=(String) mainCB.getItemAt(a); //mainCB is variable name of combobox
    JComponent subpanel2=new B(); //added the class
    jTabbedPane1.add(s,subpanel2); //added new tab which is the new class
    B ob=new B(); //object of new class B
    ob.heading(s); //heading is the function in Class B
}
现在我如何从类A更改jTextField1文本

类B中的heading()函数如下所示:

public void heading(String s){
    head.setText(s); //head is the variable name of jTextField1 of class B
}
我已经发布了A班和B班的图片

这是甲级


在jTabbedPane中添加的新面板是B类。这在A类中被调用


addClass
方法中创建类
B
的两个实例。我想在
子面板2
上调用
标题
可以解决您的问题,该子面板的类型为
B
。这将类似于:

public void addclass(int a) {
    String s=(String) mainCB.getItemAt(a); //mainCB is variable name of combobox
    B subpanel2=new B(); //added the class
    jTabbedPane1.add(s,subpanel2); //added new tab which is the new class
    subpanel2.heading(s); //heading is the function in Class B
}

这就是你想要的吗?

基本上,如果在组合框中选择了某些内容,并且单击“创建帐户”,我必须添加面板。B类是包含第二个映像的jPanel。所以我在第一个类的选项卡窗格中添加组件。但我无法更改Asubpanel2类的B类表单的任何属性。标题显示错误。它说找不到方法heading()啊,您需要将
子面板2
声明为
B
,而不是
JComponent
,因此编译器知道它能够执行
heading
方法。我编辑了我的帖子来反映这一点。啊。。。它是有效的。。。非常感谢。。我用谷歌搜索了我的屁股你能帮我吗??假设我在新面板中单击“Main”。在这种情况下,您需要给
B
一个对
a
的引用(可能通过将其传递到构造函数中),然后在
a
中创建一个方法来调用
JTabbedPane
上的
setSelectedIndex
。在这些GUI中,您通常需要为各种对象提供相互引用,以便它们可以调用彼此的方法。