gpt4 book ai didi

Java JTextField 不会显示

转载 作者:行者123 更新时间:2023-12-01 13:05:25 25 4
gpt4 key购买 nike

我正在创建一些 GUI,并且制作了这个 JDialog,我试图在其中创建姓名、电话号码和年龄的模板。我的问题是,当您按下按钮时,您会调用此方法:

public void createKunde(){
JDialog addDialog = new JDialog(frame);
JPanel addContentPane =(JPanel) addDialog.getContentPane();
addContentPane.setBorder(new EmptyBorder(12,12,12,12));

addContentPane.setLayout(new BorderLayout(6,6));

addDialog.setTitle("Opret Kunde");
addDialog.setSize(800, 400);
addDialog.setLocationRelativeTo(frame);
addDialog.setModal(true);
addDialog.setVisible(true);

JPanel addContent = new JPanel();
addContent.setLayout(new GridLayout(4,4));

JTextField addName = new JTextField(50);
addContent.add(addName);

JTextField addAge = new JTextField(50);
addContent.add(addAge);

JTextField addPhone = new JTextField(50);
addContent.add(addPhone);


addContentPane.add(addContent, BorderLayout.WEST);
addDialog.add(addContentPane);
}

我只是无法在 JDialog 中显示 TextFields。我看不出问题出在哪里?

最佳答案

您必须使 JDialog 可见,将其添加到末尾并将其从顶部删除:

addDialog.setVisible(true); 

据我记得java swing,你不能先让某些东西可见并构建它。

这里还有另一个例子:

private void showSimpleDialog() {
final JDialog d = new JDialog(this, "Run", true);
d.setSize(200, 150);
JLabel l = new JLabel("Pagination Swing Demo", JLabel.CENTER);
d.getContentPane( ).setLayout(new BorderLayout( ));
d.getContentPane( ).add(l, BorderLayout.CENTER);
JButton b = new JButton("Run");
b.addActionListener(new ActionListener( ) {
public void actionPerformed(ActionEvent ev) {
createFrame();
d.setVisible(false);
d.dispose( );
}
});
JPanel p = new JPanel( ); // Flow layout will center button.
p.add(b);
d.getContentPane( ).add(p, BorderLayout.SOUTH);
d.setLocationRelativeTo(this);
d.setVisible(true);
}

关于Java JTextField 不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23302491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com