0

問題 : フレームに 2 番目の Jpanel を追加しようとしていますが、後者を追加すると前のものを上書きします。目的は、同じフレームに 2 つのコンポーネント (Jpanels) を配置することですが、両方ではなく 1 つしか受け入れないようです。出現順序は、1 列 2 行である必要があります: 1: 名前を入力: 2: TextField

   import javax.swing.*;

import java.awt.*;

public class Money2 extends JFrame {
    public Money2() {

        // setLayout(new GridLayout(2,2));

        JPanel p1 = new JPanel();
        p1.setLayout(new FlowLayout(FlowLayout.CENTER));
        p1.add(new JLabel("Enter name:"));
        // -------------------------------------------------------------------------
        // p2.setLayout(new FlowLayout(FlowLayout.CENTER));
        JPanel p2 = new JPanel(new FlowLayout());
        p2.add(new JTextField(8));

        add(p1); // add to Jframe
        add(p2);
    }

    /** Main method */
    public static void main(String[] args) {
        Money2 frame = new Money2();
        frame.setTitle("Money Converter App");
        frame.setLocationRelativeTo(null); // Center the frame
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(350, 400);
        frame.setVisible(true);
    }
}
4

1 に答える 1

0

両方のパネルが 内の同じ場所を占めることはできませんBorderLayout。パネルp1を別の場所に配置できます。

add(p1, BorderLayout.PAGE_START);
于 2012-12-15T19:52:36.883 に答える