我有一个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来添加一个额外的答案,以显示一个额外字段和复选框。字段表示答案,复选框表示答案是否正确。
包装框架解决了这个问题。
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()
}
});