2

私はJava GUIの初心者です。与えられた行列の逆数を計算するプログラムを書いています。これを行うには、まずマトリックスをスキャンする必要があります。この方法でマトリックスをスキャンすることにしました。

ここに画像の説明を入力

最初に、正方行列の行または列の数をユーザーに尋ねています。ユーザーが数字を入力してTamamボタンをクリックすると、小さな NxN を作成したいと思いますJTextField

したがって、ユーザーは行列の各要素を簡単に入力できます。私が聞きたいのはこれです: NxN を作成できませんJTextField。私のコード:

private void jButtonRowCntMouseClicked(java.awt.event.MouseEvent evt) {                                           
        int i,j;
        if(jTextFieldRowCnt.getText() != null){
            String cnt = jTextFieldRowCnt.getText();
            Integer rowCnt = Integer.parseInt(cnt);                      
            for(i=0;i<rowCnt;i++){
                for(j=0;j<rowCnt;j++){
                      JTextField textField = new JTextField();
                      this.add(textField);
                      pack();
                }
            }
        }
    } 

しかし、残念ながら、私はそれを作ることができませんでした。どこが間違っていますか?

もう 1 つの質問は、NxN の場所を設定するにはどうすればよいJTextFieldですか?

4

2 に答える 2

0

具体的な問題は何ですか?オブジェクトのクラスは何ですか?コンテナ コンポーネントのレイアウトに問題があるようです。

マトリックス テキスト フィールドを専用の に追加することをお勧めしJPanelますGridLayout

例:

    // ...
    matrixPanel.setLayout(new GridLayout(rowCnt, rowCnt)); // matrixPanel is the dedicated JPanel
    for(i=0;i<rowCnt;i++){
        for(j=0;j<rowCnt;j++){
              JTextField textField = new JTextField();
              matrixPanel.add(textField); // add the fields into the panel
              //pack(); I think it wouldn't be needed
        }
    }

GridPanel の詳細については、http: //docs.oracle.com/javase/tutorial/uiswing/layout/grid.html を参照してください。

于 2013-05-16T16:04:49.500 に答える