我有一个JFrame,它包含一些Swing组件。一个按钮有一个ActionListener来向框架添加一个额外的按钮(因此用户可以添加更多信息)。 现在,我想要在添加新组件时调整窗口(jframe)的大小。现在,只要添加新组件,组件就会变小,但框架的大小保持不变。
以下是actionlistener的代码:
addAnswerButtonMA.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
answerFieldsMA.add(new JTextField());
checkBoxesMA.add(new JCheckBox());
multipleanswerPanel.add(answerFieldsMA.get(answerFieldsMA.size() - 1));
multipleanswerPanel.add(checkBoxesMA.get(checkBoxesMA.size() - 1));
multipleanswerPanel.revalidate();
validate();
}
});
一些背景(如果需要,不确定): 我正在制作测验计划,管理员可以使用单独的gui向测验添加问题。如果他想添加多个答案问题,他可以通过单击addAnswerbuttonMA添加额外答案以显示额外字段和复选框。该字段代表答案,复选框表示答案是否正确。
答案 0 :(得分:0)
包装框架解决了它。
addAnswerButtonMA.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
answerFieldsMA.add(new JTextField());
checkBoxesMA.add(new JCheckBox());
multipleanswerPanel.add(answerFieldsMA.get(answerFieldsMA.size() - 1));
multipleanswerPanel.add(checkBoxesMA.get(checkBoxesMA.size() - 1));
multipleanswerPanel.revalidate();
validate();
pack()
}
});