📄 combodemo.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.event.*;
public class ComboDemo extends JFrame
implements ItemListener{
private Container container;
private JLabel lbDep,lbHeader,lbTel;
private JTextField tfHeader,tfTel;
private GridBagLayout Layout;
private GridBagConstraints constraints;
//系别信息字符串数组
String[] strDep={"英语","数学","化学","物理","经济"};
//系主任信息字符串数组
String[] strHeader={"王岩","李煜","孙和平","吴江","张建"};
//联系电话字符串数组
String[] strTel={"13037272406","13937252408","13847825482",
"13145678912","13536352409"};
private JComboBox cmbDep;
public ComboDemo() {
super("组合框示例");
setSize(260,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//以设定的网格包布局向面板中添加组件
private void addComponent(JPanel panel,GridBagLayout Layout,
GridBagConstraints gbc,Component com,int row,int column,
int numRows,int numColumns,int Weightx,int Weighty){
gbc.gridx=row;
gbc.gridy=column;
gbc.gridwidth=numRows;
gbc.gridheight=numColumns;
gbc.weightx=Weightx;
gbc.weighty=Weighty;
Layout.setConstraints(com,gbc);
panel.add(com);
}
public void setLayout(){
container=getContentPane();
Layout=new GridBagLayout();
container.setLayout(Layout);
constraints=new GridBagConstraints();
constraints.anchor=GridBagConstraints.CENTER;
constraints.fill=GridBagConstraints.HORIZONTAL;
//向框架内容面板添加组件
lbDep=new JLabel("系别",JLabel.CENTER);
addComponent((JPanel)container,Layout,constraints,lbDep,0,0,1,1,20,0);
cmbDep=new JComboBox();
cmbDep.addItemListener(this);
addComponent((JPanel)container,Layout,constraints,cmbDep,1,0,1,1,80,100);
lbHeader=new JLabel("系主任",JLabel.CENTER);
addComponent((JPanel)container,Layout,constraints,lbHeader,0,1,1,1,20,0);
tfHeader=new JTextField();
addComponent((JPanel)container,Layout,constraints,tfHeader,1,1,1,1,80,100);
lbTel=new JLabel("电话",JLabel.CENTER);
addComponent((JPanel)container,Layout,constraints,lbTel,0,2,1,1,20,0);
tfTel=new JTextField();
addComponent((JPanel)container,Layout,constraints,tfTel,1,2,1,1,80,100);
}
private void addItem(){//向组合框添加项目信息
for(int i=0;i<strDep.length;i++){
cmbDep.addItem(strDep[i]);
}
}
public static void main(String[] args) {
ComboDemo frame = new ComboDemo();
frame.setLayout();
frame.addItem();
frame.show();
}
public void itemStateChanged(ItemEvent e) {
if(e.getSource() instanceof JComboBox){
//获取组合框的当前选项索引
int index=cmbDep.getSelectedIndex();
//根据当前组合框的索引值,设置相应的文本框信息。
tfHeader.setText(strHeader[index]);
tfTel.setText(strTel[index]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -