0

uname という名前の 1 つのフレームに文字列があります。

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

そしてそれを次のフレームに向けて

 this.dispose();
 new SectionsFclty(uname).setVisible(true);

そして、私の別のフレーム(下に表示)では、文字列 uname が必要です...

  public SectionsFclty() {
    initComponents();   
}

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

しかし、私の2番目のフレーム(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:unchecked で再コンパイルしてください。

4

1 に答える 1

0

パラメータを指定してコンストラクタを呼び出す必要がありStringます。

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

2 行を使用することは厳密な要件ではありませんが、エラーが発生した場所を確認するのに役立ちます。連鎖は便利で、コードを短くすることができますが、少なくとも初心者である限り、物事を単純に保つようにしてください。

uname静的にすることはお勧めしません。静的は通常は必要なく、解決するよりも多くの問題を引き起こす傾向があります。

于 2013-07-28T18:54:18.217 に答える