4
   d1=new JDialog();
   d1.setSize(200, 100);
   t1=new JTextField();
   t1.setBounds(10,10,40,20);
   d1.add(t1);

TextField、Button などのコンポーネントを JDialog に追加したい...

4

5 に答える 5

10

1)最初にJpanelを作成します

JPanel pan=new JPanel();
pan.setLayout(new FlowLayout());

2)そのJPanelにコンポーネントを追加します

pan.add(new JLabel("label"));
pan.add(new JButton("button"));

3)JDialogを作成します

JDialog jd=new JDialog();

4)JPanelをJDialogに追加します

jd.add(pan);
于 2012-06-29T11:33:48.980 に答える
0

レイアウト マネージャーを使用していないことを確認する必要があります。

d1.setLayout(null);

デフォルトでは、BorderLayout が使用されます。レイアウト マネージャーを使用するのは素晴らしいことですが、ウィンドウのサイズ変更などを可能にする本当に優れたものは理解しにくいものです。レイアウトマネージャーがなければ、試したとおりに境界を指定できます。

于 2012-06-29T11:25:40.413 に答える
0

コンポーネントを実際にどのようにレイアウトしたいかはわかりませんが、次のスニペットは、現在のコードであなたがやろうとしていると私が推測していることを達成するはずです. LayoutManager のレイアウト制約、優先/最大/最小サイズを可能な限り使用し、setLocation/setSize/setBounds の使用を避けるようにしてください。

import java.awt.FlowLayout;

import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class Test5 {

    protected static void initUI() {
        JDialog dialog = new JDialog();
        JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
        panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 0));
        JTextField textfield = new JTextField(8);
        textfield.setBounds(10, 10, 40, 20);
        panel.add(textfield);
        dialog.add(panel);
        dialog.setSize(200, 100);
        dialog.setLocationRelativeTo(null);
        dialog.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                initUI();
            }
        });
    }

}

おそらくLayoutManagerについて読む必要があります。時間をかけてそれを調べ、それらがどのように機能するか、そして存在するさまざまなものを理解してください. それに数分費やしたことを後悔することはありません。

于 2012-06-29T12:39:33.340 に答える
0

この例とチュートリアルを見てください..
1. ダイアログの作成方法
2. JDialog にコンポーネントを動的に追加する
3. JDialog 内にコンポーネントを追加する

于 2012-06-29T11:27:14.173 に答える
0

JDialog は java.awt.Container であるため、JFrame に追加するのとまったく同じ方法で JDialog にコンポーネントを追加できます。追加するコンポーネントのサイズを設定する場合は、レイアウト マネージャーを使用するか、レイアウトを null に設定する必要があります。

于 2012-06-29T12:13:12.243 に答える