gpt4 book ai didi

java - 如何在运行时向面板添加新组件

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

我想在运行时将 JCombobox 添加到面板,我对此一无所知,所以如果您对此有任何想法,请建议我。

最佳答案

我假设您想将组合框添加到屏幕上已有的组件中。只需将组件添加到适当的 Container并调用Containervalidate方法。这是一个小例子:

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 .

关于java - 如何在运行时向面板添加新组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2302043/

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