当我在JtextField
的{{1}}中输入文字,然后点击确定按钮时,文字将显示在FrameIn
的{{1}}上,最后一帧就是我我希望,因为我仍然不知道该怎么做。
我正在使用NetBeans GUI构建器。
Jfield
和我的FrameShow
FrameShow
因此,如果我在package learn;
public class FrameIn extends javax.swing.JFrame {
private String Name = null;
public FrameIn() {
initComponents();
}
*
*
private void ButtonActionPerformed(java.awt.event.ActionEvent evt) {
FrameShow show = new FrameShow();
Name = Text.getText();
this.dispose();
show.setVisible(true);
}
public String getName(){
return this.Name;
}
的{{1}}中输入文字,则输出将显示在public class FrameShow extends javax.swing.JFrame {
/**
* Creates new form Frame1
*/
public FrameShow() {
FrameIn inName = new FrameIn();
initComponents();
Label.setText(inName.getName());
}
第二个Jframe的JtextField
此代码的输出表单在FrameIn
答案 0 :(得分:1)
您可以在两个帧之间传递参数,
因此,当您点击按钮时,请执行一个调用frameShow
的操作,然后您可以在框架的构造函数中传递值,也可以在第二帧中创建一个字段并使用setter把你的价值,这就是想法。
class A{
...
//action
String v = textField.getText();
B b = new B(v);
...
}
class B{
public B(String v){
this.label.setText(v);
}
}
第二个想法:
class A{
...
//action
String v = textField.getText();
B b = new B();
b.setLabelValue(v);
...
}
这是你的代码应该是这样的:
private void ButtonActionPerformed(java.awt.event.ActionEvent evt) {
Name = Text.getText();
FrameShow show = new FrameShow(Name);
this.dispose();
show.setVisible(true);
}
public FrameShow(String name) {
initComponents();
Label.setText(name);
}
希望你明白我的观点并理解这个想法。