Java 更改不同类中JTextField的文本
如何从其他类更改jTextField的文本 假设我有一个类A,如果我选择一个项目并单击CreateCount。我在jTabbedPane中添加了一个同名选项卡。这个标签是B类的。 这方面的代码是: 单击“创建帐户”后,此函数addclass(mainCB.getSelectedIndex())已被调用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
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中,您通常需要为各种对象提供相互引用,以便它们可以调用彼此的方法。