gpt4 book ai didi

java - 无需单击按钮即可动态添加组件

转载 作者:行者123 更新时间:2023-11-29 03:54:09 26 4
gpt4 key购买 nike

我在运行时通过单击按钮动态添加组件。但是现在我想在不单击按钮的情况下动态添加组件。我怎样才能做到这一点..??这是我在单击按钮时添加组件的源代码。

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         

String[] items = new String[4];
items[0]="English";
items[1]="French";
items[2]="Spanish";
items[3]="Hindi";
JTextField jtextfield = new JTextField();
jtextfield.setPreferredSize(new Dimension(50, 20));
JButton jbutton = new JButton();
jbutton.setText("Remove");
jbutton.setPreferredSize(new Dimension(89, 23));

JLabel jlabel = new JLabel();
jlabel.setText("Text:");
jlabel.setPreferredSize(new Dimension(40, 20));
JLabel jlabel2 = new JLabel();
jlabel2.setText("Language:");
jlabel2.setPreferredSize(new Dimension(65, 20));

JComboBox jcombo = new JComboBox();
jcombo.setPreferredSize(new Dimension(80,20));
jcombo.addItem(items[0]);
jcombo.addItem(items[1]);
jcombo.addItem(items[2]);
jcombo.addItem(items[3]);

jPanel6.add(jlabel);
jPanel6.add(jtextfield);
jPanel6.add(jlabel2);
jPanel6.add(jcombo);
jPanel6.add(jbutton);

jbutton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
Component[]storeAllButtonInPanel = jPanel6.getComponents();

if(storeAllButtonInPanel.length!=0) {
jPanel6.remove(storeAllButtonInPanel.length-1);
jPanel6.remove(storeAllButtonInPanel.length-2);
jPanel6.remove(storeAllButtonInPanel.length-3);
jPanel6.remove(storeAllButtonInPanel.length-4);
jPanel6.remove(storeAllButtonInPanel.length-5);

jPanel6.revalidate();
validate();
repaint();
}
}

});



jPanel6.validate();
jPanel6.repaint();
}

如果我只有 2 个文本值,那么它也会显示两行,如果有 3 个值,那么应该只有 3 行..!!我该怎么做。?

最佳答案

不知道你想要什么,需要/要求对此进行一些控制,作为 GUI 的输出并使用一些 Listener (作为你的 ActionListener ),

也许(完全控制)JPopupMenu , API , 例子 herehere

关于java - 无需单击按钮即可动态添加组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7316082/

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