将一个字符串从一个帧传递到另一个帧

时间:2013-07-28 18:35:02

标签: java string swing

我在一个名为uname的框架中有一个字符串。

uname = usrNameTxt.getText();
char[] pword = pwordTxt.getPassword();
String password = new String(pword);

并通过

指向下一帧
 this.dispose();
 new SectionsFclty(uname).setVisible(true);

在我的另一个(如下所示)框架中想要String uname ...

  public SectionsFclty() {
    initComponents();   
}

 public SectionsFclty(String uname) {
    initComponents();
    jLabelUsername.setText(uname);
}

但在我的第二帧(SectionsFclty.java)中出现错误

  private void initComponents() {

    jPanel1 = new javax.swing.JPanel();
    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();
    jLabel1 = new javax.swing.JLabel();
    jLabelUsername = new javax.swing.JLabel();..............

 }  // shows an error now

以下错误

  error: illegal start of expression
private void initComponents() {
            new SectionsFclty().setVisible(true);

必需:字符串   发现:没有争论   原因:实际和正式的参数列表长度不同 注意:某些输入文件使用未经检查或不安全的操作。 注意:使用-Xlint重新编译:取消选中以获取详细信息。

1 个答案:

答案 0 :(得分:0)

您需要使用String参数调用构造函数。

SectionsFclty fclt = new SectionsFclty(uname);
fclt.setVisible(true);

使用两行并不是一项严格的要求,但它有助于查看错误发生的位置。链接可以很方便,使代码更短,但至少只要你是初学者,尽量保持简单。

我不建议将uname设为静态。通常不需要静态,并且往往会导致比解决更多的问题。