制作个人简历

1.题目要求:
制作个人简历,要求有文本域输入信息,单选按钮和复选按钮进行选择,点击提交按钮后在文本区显示所输入的信息和选择的信息,点击清空后文本区内容为空。
2.思路:
(1)创建简历中需要的各种组件:
JLabel创建标签对象、JTextField创建文本域对象,JPanel创建面板对象,将各组件放入对应面板当中,Container创建容器对象,将各组织好的面板放入容器当中。
(2)定义好各部分后,提交和清空需要定义事件监听,通过事件相应方法来实现。各选择类的项需通过选项监听器中的方法来实现。
3.实现效果:
这里写图片描述

4.代码实现:



public class MyJianLi extends JFrame
{
   //创建对象
    JFileChooser fc=new JFileChooser();
    Container ct; 

    JPanel p1;    //个人简历

    JPanel p2;    //姓名、性别
    JTextField tf1;
    String name,sex;
    JRadioButton jrb1,jrb2;

    JPanel p3;    //生日、年龄
    String year,month,day;
    int y=0,m=1;
    int nl;
    JComboBox jcb1,jcb2,jcb3;
    JTextField tf2;

    JPanel p4;    //住址
    String address;
    JTextField tf3;

    JPanel p5;    //政治面貌、所学课程
    String politics,objects;
    JComboBox jcb4;
    JList list1;

    JPanel p6;    //专业
    String specialty;
    JTextField tf4;

    JPanel p7;    //兴趣爱好
    int a[]={0,0,0,0,0,0,0};
    JCheckBox jc1,jc2,jc3,jc4,jc5,jc6,jc7;
    String interest="";

    JPanel p8;    //毕业院校
    JTextField tf5;
    String graduate;

    JPanel p9;    //专业技能
    String filedname;
    JTextField tf6;

    JScrollPane p10;   //文本域面板
    JTextArea ta;

    JPanel p11;   //提交、清空

    public MyJianLi()
    {
        JPanel p1=new JPanel();                     
        JPanel p2=new JPanel();                    
        JPanel p3=new JPanel();               
        JPanel p4=new JPanel();                      
        JPanel p5=new JPanel();                     
        JPanel p6=new JPanel();                      
        JPanel p7=new JPanel();                     
        JPanel p8=new JPanel();                     
        JPanel p9=new JPanel();                    
        JPanel p10=new JPanel();                     
        JPanel p11=new JPanel();                    
        this.setTitle("个人简历");           
        ct=this.getContentPane();                  
        ct.setLayout(new BoxLayout(ct,BoxLayout.Y_AXIS));             
        buildJPanel1( p1);                         
        ct.add(p1);                              
        buildJPanel2( p2);                         
        ct.add(p2);                                 
        buildJPanel3( p3);                         
        ct.add(p3);                               
        buildJPanel4( p4);                          
        ct.add(p4);                              
        buildJPanel5( p5);                          
        ct.add(p5);                                
        buildJPanel6( p6);                          
        ct.add(p6);                               
        buildJPanel7( p7);                         
        ct.add(p7);                                
        buildJPanel8( p8);                          
        ct.add(p8);                                
        buildJPanel9( p9);                         
        ct.add(p9);                                
        buildJPanel10( p10);                        
        ct.add(p10);                               
        buildJPanel11( p11);                        
        ct.add(p11);                              

        this.setVisible(true);             
        this.setSize(600,850); 
        this.setLocation(500, 100);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

//具体实现部分:   
//****************个人简历**********************************//
private void buildJPanel1(JPanel p1)
{                    
    p1.setLayout(new FlowLayout(FlowLayout.CENTER));
    JLabel l1 =new JLabel("个人简历");
    l1.setHorizontalAlignment(JLabel.CENTER);
    l1.setFont(new Font("个人简历",1,40));
    l1.setEnabled(false);
    p1.add(l1);
}
//****************姓名、性别********************************//
private void buildJPanel2(JPanel p2)
{                   
    p2.setLayout(new FlowLayout(FlowLayout.CENTER));
    JLabel l2 =new JLabel("姓名");
    JLabel l3 =new JLabel("性别");
    p2.add(l2);
    tf1=new JTextField(25);
    p2.add(tf1);
    tf1.addActionListener(new TJActionListener());
    p2.add(l3);
     jrb1=new JRadioButton("男");
     jrb1.setSelected(true);
    jrb1.addItemListener(new JRB());
     jrb2=new JRadioButton("女");
    jrb2.addItemListener(new JRB());
    ButtonGroup bG=new ButtonGroup();
    bG.add(jrb1);
    bG.add(jrb2);
    p2.add(jrb1);
    p2.add(jrb2);
    p2.setSize(450,100);
    p2.setEnabled(false);

}
//*****************生日、年龄***************************//
private void buildJPanel3(JPanel p3)
{                     
    p3.setLayout(new FlowLayout(FlowLayout.CENTER));
    JLabel l4 =new JLabel("生日:");
     jcb1=new JComboBox();
     for(int i=1949;i<2012;i++)
         jcb1.addItem(String.valueOf(i));
    JLabel l5 =new JLabel("年");
     jcb2=new JComboBox();
    for(int i=1;i<13;i++)
         jcb2.addItem(String.valueOf(i));   
    JLabel l6 =new JLabel("月");
     jcb3=new JComboBox();
     for(int i=1;i<32;i++)
         jcb3.addItem(String.valueOf(i));
     JLabel l7 =new JLabel("日");
     jcb1.addItemListener(new JBC1());
     jcb2.addItemListener(new JBC2());
     jcb3.addItemListener(new JBC3());
    JLabel l8 =new JLabel("年龄:");
    tf2 =new JTextField(12);
    tf2.addActionListener(new TJActionListener());
    tf2.setEditable(true);
    p3.add(l4);
    p3.add(jcb1);
    p3.add(l5);
    p3.add(jcb2);
    p3.add(l6);
    p3.add(jcb3);
    p3.add(l7);
    p3.add(l8);
    p3.add(tf2);

}
//*****************家庭住址***************************//
private void buildJPanel4(JPanel p4)
{                     
    p4.setLayout(new FlowLayout(FlowLayout.CENTER));
    JLabel l9 =new JLabel("家庭住址");
     tf3 =new JTextField(38);
    p4.add(l9);
    p4.add(tf3);
}
//**************政治面貌、所学课程***********************//
private void buildJPanel5(JPanel p5)
{                     
    p5.setLayout(new FlowLayout(FlowLayout.CENTER));
    String zz[]={"共产党员","共青团员","民进党员","国民党员","民主党员","共和党员","其他党派"};
    String SX[]={"JAVA组件","软件工程","数据库应用","数据结构","C语言基础","专业外语","大学物理","高等数学","大学英语"};
    JLabel l10 =new JLabel("政治面貌");
     jcb4=new JComboBox(zz);
     jcb4.addItemListener(new JCB4());
    JLabel l11 =new JLabel("所学课程");
    list1 =new JList(SX);    
    list1.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);//允许选择相邻的一系列行
    list1.addListSelectionListener(new lListSelectionListener());
    JScrollPane sp1=new JScrollPane(list1);
    sp1.setPreferredSize(new Dimension(250,70));
    sp1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    p5.add(l10);
    p5.add(jcb4);
    p5.add(l11);
    p5.add(sp1);

}
//***************所学专业***************************//
private void buildJPanel6(JPanel p6)
{                    
    p6.setLayout(new FlowLayout(FlowLayout.CENTER));
    JLabel l12 =new JLabel("所学专业");
     tf4 =new JTextField(36);

    p6.add(l12);
    p6.add(tf4);
}
//***************兴趣爱好***************************//
private void buildJPanel7(JPanel p7)
{                    
    p7.setLayout(new FlowLayout(FlowLayout.CENTER));
    JLabel l13 =new JLabel("兴趣爱好");
     jc1 =new JCheckBox("阅读");
     jc1.addItemListener(new P7());
     jc2 =new JCheckBox("运动");
     jc2.addItemListener(new P7());
     jc3 =new JCheckBox("饮食");
     jc3.addItemListener(new P7());
     jc4 =new JCheckBox("旅游");
     jc4.addItemListener(new P7());
     jc5 =new JCheckBox("音乐");
     jc5.addItemListener(new P7());
     jc6 =new JCheckBox("影视");
     jc6.addItemListener(new P7());
     jc7 =new JCheckBox("书籍");
     jc7.addItemListener(new P7());
    p7.add(l13);
    p7.add(jc1);
    p7.add(jc2);
    p7.add(jc3);
    p7.add(jc4);
    p7.add(jc5);
    p7.add(jc6);
    p7.add(jc7);

}
//*************毕业院校*****************************//
private void buildJPanel8(JPanel p8)
{                    
    p8.setLayout(new FlowLayout(FlowLayout.CENTER));
    JLabel l14 =new JLabel("毕业院校");
     tf5 =new JTextField(36);
    p8.add(l14);
    p8.add(tf5);

}
//************专业技能*********************************//
private void buildJPanel9(JPanel p9)
{                    
    p9.setLayout(new FlowLayout(FlowLayout.CENTER));
    JLabel l15 =new JLabel("专业技能");
    tf6 =new JTextField(37);
    p9.add(l15);
    p9.add(tf6);
}
//***********文本区***********************************//
private void buildJPanel10(JPanel p10)
{                    
    p10.setLayout(new FlowLayout(FlowLayout.CENTER)); 
    ta =new JTextArea(10,40);
    ta.setEditable(false);
    JScrollPane sp2=new JScrollPane(ta);
     sp2.setSize(450,100);
    sp2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    p10.add(sp2,BorderLayout.CENTER);
    p10.setVisible(true);

}
//**********清空、提交****************************//
private void buildJPanel11(JPanel p11)
{                    
    p11.setLayout(new FlowLayout(FlowLayout.CENTER));                        
    JButton bt1 =new JButton("提交");//构建按钮提交
    JButton bt4 =new JButton("清空");//构建按钮清空
    bt1.addActionListener(new TJActionListener());
    bt4.addActionListener(new QKActionListener());
    p11.add(bt1);
    p11.add(bt4);
}

//**********点击清空时发生**********************//定义事件
class QKActionListener implements ActionListener
{   
    public void actionPerformed(ActionEvent event)
    {
    ta.setText("");
    }
}
//*********点击提交时发生**********************//
class TJActionListener implements ActionListener
{   
    public void actionPerformed(ActionEvent event)
    {
        //**************************************姓名栏
    name=tf1.getText();
    if(name!=null&&!name.equals(""))
         ta.append("姓名: "+name+"\n");
    else
        ta.append("姓名未输入,请输入:\n");
  //*******************************************性别栏
    if(sex!=null&&!sex.equals(""))
      ta.append("性别: "+sex+"\n");
   else
      ta.append("性别未输入,请输入:\n");
  //*******************************************生日
    if(year!=null&&!year.equals(""))
        if(month!=null&&!month.equals(""))
            if(day!=null&&!day.equals(""))
                 ta.append("出生日期:"+year+ "\\" +month+"\\"+day+"\n");    
            else
                 ta.append("日期未输入,请输入:\n");
         else
            ta.append("月份未输入,请输入:\n");
     else
     ta.append("年份未输入,请输入:\n");
  //******************************************年龄栏 
    if(nl!=0)
        ta.append("年龄为:"+nl+"\n");
    else
        ta.append("年龄输出错误:\n");

  //******************************************地址栏
    address=tf3.getText();
    if(address!=null&&!address.equals(""))
       ta.append("地址: "+address+"\n");
   else
    ta.append("地址未输入,请输入:\n");

  //******************************************政治面貌
    politics=(String)jcb4.getSelectedItem();
    if(politics!=null&&!politics.equals(""))
     ta.append("政治面貌: "+politics+"\n");
   else
    ta.append("政治面貌未输入,请输入:\n");

  //******************************************所学课程
    if(objects!=null&&!objects.equals(""))
     ta.append("所学课程: "+objects+"\n");
   else
    ta.append("所学课程未输入,请输入:\n");

  //******************************************所学专业
    specialty=tf4.getText();
    if(specialty!=null&&!specialty.equals(""))
     ta.append("所学专业: "+specialty+"\n");
   else
    ta.append("所学专业未输入,请输入:\n");

  //******************************************兴趣爱好
    if(interest!=null&&!interest.equals(""))
         ta.append("兴趣爱好: "+interest+"\n");
      else
        ta.append("兴趣爱好未输入,请输入:\n");
  //******************************************毕业院校
    graduate=tf5.getText();
    if(graduate!=null&&!graduate.equals(""))
         ta.append("毕业院校: "+graduate+"\n");
      else
        ta.append("毕业院校未输入,请输入:\n");
   //******************************************专业技能
    filedname=tf6.getText();
    if(filedname!=null&&!filedname.equals(""))
        fc.setSelectedFile(new File(filedname));
     else
        ta.append("专业技能未输入,请输入:\n");
    }
}

//***********************实现事件监听*****************//

//***************************************性别
class  JRB implements ItemListener
{
    public void itemStateChanged(ItemEvent e)
    {
        if((JRadioButton)e.getItem()==jrb1)
            if(e.getStateChange()==ItemEvent.SELECTED)
                sex="男";
            else
                sex="";
        else if((JRadioButton)e.getItem()==jrb2)
           if(e.getStateChange()==ItemEvent.SELECTED)
              sex="女";
           else
               sex="";
    }
}
//*****************************************年、月、日
class JBC1 implements ItemListener
{

    public void itemStateChanged(ItemEvent e)
    {

        if(e.getStateChange()==ItemEvent.SELECTED)
        {
            year=(String)jcb1.getSelectedItem();
            y=Integer.parseInt((String)jcb1.getSelectedItem());
            nl=2012-y;
            tf2.setText(String.valueOf(nl)); 
        }
    }
}
class JBC2 implements ItemListener
{
    public void itemStateChanged(ItemEvent e)
    {
        if(e.getStateChange()==ItemEvent.SELECTED)
        month=(String)jcb2.getSelectedItem();
        m=Integer.parseInt((String)jcb2.getSelectedItem());
        if(m==4||m==6||m==9||m==11)
        {
            jcb3.removeAllItems();
            for(int i=1;i<31;i++)
                jcb3.addItem(String.valueOf(i));
        }
        if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
        {
            jcb3.removeAllItems();
            for(int i=1;i<32;i++)
                jcb3.addItem(String.valueOf(i));
        }
        int f;
            if(y%4==0)
                if(y%100==0)
                    if(y%400==0)
                        f=1;
                    else
                        f=0;
                else
                    f=1;
            else
                f=0;
            if(m==2)
                if(f==1)
                {
                    jcb3.removeAllItems();
                    for(int i=1;i<29;i++)
                        jcb3.addItem(String.valueOf(i));
                }
                else
                {
                    jcb3.removeAllItems();
                    for(int i=1;i<30;i++)
                        jcb3.addItem(String.valueOf(i));
                }           
    }
}
class JBC3 implements ItemListener
{
    public void itemStateChanged(ItemEvent e)
    {
         if(e.getStateChange()==ItemEvent.SELECTED)
               day=(String)jcb3.getSelectedItem();
    }
}
//***************************************政治面貌、所选课程
class JCB4 implements ItemListener
{
    public void itemStateChanged(ItemEvent e)
    {
            if(e.getStateChange()==ItemEvent.SELECTED)
                politics=(String)jcb4.getSelectedItem();
    }
}
class lListSelectionListener  implements ListSelectionListener
{ 
    public void valueChanged(ListSelectionEvent e)
    {
        objects=(String)list1.getSelectedValue();
    }
}

//***********************************************兴趣爱好
class P7 implements ItemListener
{
    public void itemStateChanged(ItemEvent e)
    {
        if((JCheckBox)e.getItem()==jc1)
            if(e.getStateChange()==ItemEvent.SELECTED)
                 a[0]=1;
            else
                 a[0]=0;
        if((JCheckBox)e.getItem()==jc2)
            if(e.getStateChange()==ItemEvent.SELECTED)
                 a[1]=1;
            else
                 a[1]=0;
        if((JCheckBox)e.getItem()==jc3)
            if(e.getStateChange()==ItemEvent.SELECTED)
                 a[2]=1;
            else
                 a[2]=0;
        if((JCheckBox)e.getItem()==jc4)
            if(e.getStateChange()==ItemEvent.SELECTED)
                 a[3]=1;
            else
                 a[3]=0;
        if((JCheckBox)e.getItem()==jc5)
            if(e.getStateChange()==ItemEvent.SELECTED)
                 a[4]=1;
            else
                 a[4]=0;
        if((JCheckBox)e.getItem()==jc6)
            if(e.getStateChange()==ItemEvent.SELECTED)
                 a[5]=1;
            else
                 a[5]=0;
        if((JCheckBox)e.getItem()==jc7)
            if(e.getStateChange()==ItemEvent.SELECTED)
                 a[6]=1;
            else
                 a[6]=0;
        interest =INT(a);
    }
}
public String INT (int a[])
{
    String s=""; 
    String Color[]={"阅读"," 运动"," 饮食"," 旅游"," 音乐"," 影视"," 书籍"};
    for(int i=0;i<7;i++)
        if(a[i]!=0)
            s= s +Color[i];
        else
            continue;
    return s;
}
    public static void main(String[] args) 
    {
    new MyJianLi();
    }
}
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值