1

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

1

コンストラクターがパラメーターSectionsFcltyを期待してStringいるようです。次のようなパラメーターを渡すようにしてください。

new SectionsFclty("some string").setVisible(true);

SectionsFclty別のアイデア:クラスに引数なしのコンストラクターがあることを確認します。質問に投稿されたコードにはそれがありますが、実際のコードに含まれている場合、表示されるエラーは発生しません。注意: 引数なしのコンストラクターは暗黙的に提供されますが、別のコンストラクターが宣言されている場合は、必要に応じて、引数なしのコンストラクターを明示的に宣言する必要があります。

于 2013-07-28T19:15:00.957 に答える