我的UI有这个课程
public class MyFrame extends JFrame{ JTextArea textArea; public MyFrame(){ setSize(100,100); textArea = new JTextArea(50,50); Container content = getContentPane(); content.add(textArea); } public static void main(String[] args){ JFrame frame = new MyFrame(); frame.show(); UpdateText u = new UpdateText(); u.settext("Helloworld"); } }
我有另一个类,它将设置的文本textArea,直到我将MyFrame扩展为另一个类中的textArea。
textArea
public class UpdateText extends MyFrame{ public void settext(String msg){ textArea.setText(msg); } }
然后,我实例化UpdateText并调用函数settext。但是该文本似乎没有出现在GUI中。 请帮忙
首先,setText()除非您想要不同的行为,否则不要覆盖该方法。其次,您无需扩展任何内容。您所要做的就是按照这些简单的步骤进行操作,就可以开始工作了!
setText()
在UpdateText课堂上,将以下几行放在其中:
UpdateText
MyFrame gui;
public UpdateText(MyFrame in) { gui = in; }
在“ MyFrame”类中,将此行放在开头:
UpdateText ut = new UpdateText(this);
现在,您可以通过先要使用的内容来引用MyFrame类中的所有内容。例如,假设您要更改文本区域的文本。代码如下:UpdateText``gui
MyFrame
UpdateText``gui
gui.textArea.setText("Works!");
编码愉快!:)