0

いくつかのテキストボックスを備えた小さな GUI を作成しようとしています。最短のコードは次のとおりです。

import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class MortgageCalculator implements ActionListener {

    JTextField loanAmount, loanTerm;
    JFrame jf;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        mygui mg = new mygui();
        mg.initUIPanel();
    }

    public void initUIPanel() {
        jf = new JFrame();
        jf.setTitle("my gui");
        jf.setLocation(300, 400);
        jf.setSize(400, 500);
        jf.setVisible(true);
        jf.setResizable(false);

        jf.show();

        JPanel panel = new JPanel();
        panel.setLayout(null);

        loanAmount = new JTextField(15);
        loanAmount.setBounds(170, 20, 125, 20);

        loanTerm = new JTextField(15);
        loanTerm.setBounds(170, 60, 125, 20);

        panel.add(loanAmount);
        panel.add(loanTerm);

        jf.add(panel, "Center");
    }
}

問題は、フレームのみが表示され、txtbox が表示されないことです。フレームを一度最大化した後にのみ、ボックスが表示されます。もう一度最小化すると、まだ表示されますが、最初は表示されません。私は何を間違っていますか?

4

1 に答える 1

0

これを取り除こうとすると、JPanel はデフォルトの FlowLayout レイアウト マネージャーを使用します。

panel.setLayout(null);

ここで詳細を読むことができます->レイアウトマネージャー

于 2013-05-31T10:01:44.407 に答える