在格式化对话框中的JComponent位置时遇到一些问题。我觉得这是一个已经有答案的问题,但是我在查找信息时遇到了一些问题。
我尝试使用自定义的JOptionPane / JDialog在元素上使用setLocation(虽然不确定我是否正确执行了这些操作),但是它们始终忽略位置的格式。并且所有元素都以一条水平线出现
理想情况下,我希望类名称在顶部,三个成员在中间,而按钮在底部。 我正在这样创建对话框:
front = front->next;
和NewClass()(扩展了JPanel)看起来像这样:
JPanel createClass = new NewClass();
int result = JOptionPane.showConfirmDialog(GUI.this,
createClass, "Create a class",JOptionPane.OK_CANCEL_OPTION);
因此,如果有人可以将我指向正确的方向或指向另一个类似的帖子,将不胜感激。
答案 0 :(得分:1)
“理想情况下,我想将类名放在顶部,将3个成员列表放在中间,将按钮放在底部”
您可以使用BorderLayout
来实现。以下代码段可能会帮助您入门:
setLayout(new BorderLayout());
//now add 3 panel as containers for top, center and bottom content
JPanel top = new JPanel();
add(top, BorderLayout.NORTH);
JPanel center = new JPanel();
add(center, BorderLayout.CENTER);
JPanel bottom = new JPanel();
add(bottom, BorderLayout.SOUTH);
//manage layout and add content to top container
top.setLayout(new FlowLayout());//actually it the default
top.add(new JLabel("Class Name:"));
JTextField className = new JTextField(10);
top.add(className);
top.add(new JLabel("Super Class Name:"));
JTextField superName = new JTextField(10);
top.add(superName);
//todo manage layout and add content to center container
//todo manage layout and add content to bottom container