0
런타임시 패널에 JCombobox를 추가하고 싶습니다. 이에 대한 아이디어가 없으므로 제게이 제안에 대해 생각해보십시오.런타임에 패널에 새 구성 요소를 추가하는 방법
런타임시 패널에 JCombobox를 추가하고 싶습니다. 이에 대한 아이디어가 없으므로 제게이 제안에 대해 생각해보십시오.런타임에 패널에 새 구성 요소를 추가하는 방법
이미 화면에있는 구성 요소에 콤보 상자를 추가한다고 가정합니다. 구성 요소를 적절한 Container에 추가하고 Container의 validate 메서드로 호출하면됩니다.
I는이 예를 들어 프레임을 사용하고 있지만import java.awt.Dimension;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Application {
private static final String[] choices = { "One", "Two", "Three" };
/**
* @param args
*/
public static void main(String[] args) {
JFrame frame = new JFrame();
final JPanel content = new JPanel();
content.setPreferredSize(new Dimension(50, 200));
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS));
JButton addButton = new JButton(new AbstractAction("Add Combobox") {
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent arg0) {
content.add(new JComboBox(choices));
content.validate();
}
});
frame.add(content);
content.add(addButton);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
, 그것도 JPanel 작동한다 : 여기에 이것에 대한 약간의 예입니다.
AWT validate() 메서드 대신 Swing revalidate() 메서드를 사용합니다. – camickr
당신이하고 싶은 일에 대해 좀 더 구체적으로 설명해 줄 수 있습니까? 런타임 대 컴파일 시간이 걱정 되십니까? 또는 JComboBox를 패널에 추가하는 데 관심이 있습니까? – akf