我想在另一个按钮的正下方单击动态添加 jlabel。我无法弄清楚要用于添加 jlabel 的布局。任何提示或解决方案将不胜感激
代码在这里
package com.vastu;
import javax.swing.JPanel;
public class spanel extends JPanel {
String[] nakshatras = {"SELECT","Ashwini","Bharani","Kritika","Rohini","Mrugashira","Aardra","Punarvasu","Pushya","Aashlesha","Magha","Poorva","Phalguni","Uttara","Phalguni","Hasta","Chitra","Swati","Vishakha","Anuradha","Jyeshta","Moola","Poorvashada","Uttarashada","Shravana","Dhanishta","Shatabhisha","Poorvabhadra","Uttarabhadra","Revati"};
String[] more={"MORE MEMBERS","FATHER","MOTHER","HUSBAND","WIFE","SON","DAUGHTER"};
public spanel() {
setBackground(new Color(147, 112, 219));
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
JLabel lblTarabala = new JLabel("tarabala:");
add(lblTarabala);
JLabel lblStarOfOwner = new JLabel("STAR OF OWNER :");
add(lblStarOfOwner);
JComboBox comboBox = new JComboBox(nakshatras);
add(comboBox);
JComboBox comboBox_1 = new JComboBox(more);
add(comboBox_1);
comboBox_1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JComboBox jc = (JComboBox) e.getSource();
Integer i=jc.getSelectedIndex();
if(i==0){
repaint();
}else if(i==1){
JLabel newmember=new JLabel();
JComboBox star_f=new JComboBox(nakshatras);
GridBagConstraints gbc_starf = new GridBagConstraints();
star_f.setBackground(new Color(211, 211, 211));
newmember.setFont(new Font("Times New Roman", Font.BOLD, 14));
newmember.setText("STAR OF FATHER :");
newmember.setBackground(new Color(147, 112, 219));
gbc_starf.gridwidth=5;
add(newmember);
add(star_f);
revalidate();
}else if(i==2){
JLabel newmember=new JLabel();
JComboBox star_m=new JComboBox(nakshatras);
GridBagConstraints gbc_starm = new GridBagConstraints();
star_m.setBackground(new Color(211, 211, 211));
newmember.setFont(new Font("Times New Roman", Font.BOLD, 14));
newmember.setText("STAR OF MOTHER :");
newmember.setBackground(new Color(147, 112, 219));
gbc_starm.gridwidth=5;
add(newmember);
add(star_m);
revalidate();
}else if(i==3){
JLabel newmember=new JLabel();
JComboBox star_h=new JComboBox(nakshatras);
GridBagConstraints gbc_starh = new GridBagConstraints();
star_h.setBackground(new Color(211, 211, 211));
newmember.setFont(new Font("Times New Roman", Font.BOLD, 14));
newmember.setText("STAR OF HUSBAND :");
newmember.setBackground(new Color(147, 112, 219));
gbc_starh.gridwidth=5;
add(newmember);
add(star_h);
revalidate();
}
}
});
}
}
在这里,我使用了框布局,但字段出现在全屏上。作为
我应该如何在 boxlayout 中自定义调整组件的大小?