java swing个人简历小实验

一、实验目的

通过swing和awt用Java语言写一个个人简历的图形用户界面。并使用合适的监听器和组件,完成单选框和复选框的功能。并能够在选择单选框时将结果显示在文本框中具体内容如下:

(1)掌握图形用户界面基本组件。

(2)了解如何使用布局管理器对组件进行管理。

(3)掌握Java事件处理机制。

二、实验原理

图形用户 界面 (Graphical User Interface,简称 GUI,又称图形 用户接口 )是指采用图形方式显示的计算机操作用户 界面 。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。. 与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。. 图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。

一个Java GUI通常由顶层容器、中间容器以及多个原子组件组成。每个原子组件或容器都可能触发相应事件的产生。容器是一类能够在其中容纳其他组件的特殊组件。Swing的GUI组件类是按照类属层次以树状结构进行组织的。在这个树的最顶层,即树的根部,使一个最基本的容器类,被称为顶层容器。Swing 提供了三个通用的顶层容器类JFrame,JDialog和JApplet。JFrame提供了基于窗体的应用程序,JDialog提供对话框形式的界面,JApplet提供Java小应用程序的界面形式。在顶层容器下是中间容器,用于容纳其他的组件。通常窗格本身在显示界面中是看不到的。面板类Panel是一种中间容器,它的唯一作用是使组件更容易定位。顶层容器通过getContentPane()方法获取内部的一个内容窗格。

三、实验步骤、数据记录及处理

1.程序源码:

package Test1;

import java.awt.*;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import javax.swing.*;

import javax.swing.border.Border;

public class Project2 implements ItemListener{

public static void main(String[] args){

JFrame jf=new JFrame("个人简历");

JTextArea jt=new JTextArea("选择");

JRadioButton b1= new JRadioButton("男");

JRadioButton b2= new JRadioButton("女");

JLabel jb1=new JLabel("性别");

JLabel jb2=new JLabel("爱好");

JCheckBox a1=new JCheckBox("唱歌");

JCheckBox a2=new JCheckBox("跳舞");

JCheckBox a3=new JCheckBox("编程");

JCheckBox a4=new JCheckBox("打游戏");

JCheckBox a5=new JCheckBox("游泳");

JCheckBox a6=new JCheckBox("跑步");

JTextField c1=new JTextField("姓名:");

JTextField c2 = new JTextField(8);c1.setEditable(false);

JTextField c3=new JTextField("年龄");

JTextField c4=new JTextField(8);c3.setEditable(false);

JTextField c5=new JTextField("民族");

JTextField c6=new JTextField(8);c5.setEditable(false);

JPanel jp1=new JPanel();

jp1.add(c1);

jp1.add(c2);

jp1.add(c3);

jp1.add(c4);

jp1.add(c5);

jp1.add(c6);

jp1.add(jb1);

ButtonGroup bg=new ButtonGroup();

bg.add(b1);

bg.add(b2);

jp1.add(b1);

jp1.add(b2);

jp1.add(jb2);

jp1.add(a1);

jp1.add(a2);

jp1.add(a3);

jp1.add(a4);

jp1.add(a5);

jp1.add(a6);

JPanel jp2 = new JPanel();

jp2.setLayout(new GridLayout(0,1));

jp2.add(jt);

Border etched = BorderFactory.createEtchedBorder();

Border border = BorderFactory.createTitledBorder(etched, "FlowLayout Panel");

border = BorderFactory.createTitledBorder(etched, "选择结果");

jp2.setBorder(border);

Container cp = jf.getContentPane();

cp.setLayout(new GridLayout(0,1));

cp.add(jp1);

cp.add(jp2);

ItemListener i1 = new ItemListener ()

{ public void itemStateChanged(ItemEvent e)

{ JRadioButton rb = (JRadioButton) e.getSource();

if  (rb==b1)

{jt.append("\n"+"您选择了"+b1.getActionCommand()+b1.isSelected());}

if(rb==b2) { jt.append("\n"+"您选择了"+b2.getActionCommand()+b2.isSelected());

}

}

};

b1.addItemListener(i1);

    b2.addItemListener(i1);

    ItemListener i2 = new ItemListener ()

{ public void itemStateChanged(ItemEvent e)

{ JCheckBox rb1 = (JCheckBox) e.getSource();

if (rb1 == a1)

{ jt.append("\n"+a1.getActionCommand()+ a1.isSelected());

} else if (rb1 == a2)

{ jt.append("\n"+a2.getActionCommand()+ a2.isSelected());

} else if (rb1 == a3)

{ jt.append("\n"+a3.getActionCommand()+ a3.isSelected());

} else if (rb1 == a4)

{ jt.append("\n"+a4.getActionCommand()+ a4.isSelected());

} else if (rb1 == a5)

{ jt.append("\n"+a5.getActionCommand()+ a5.isSelected());

} else if(rb1==a6)

{ jt.append("\n"+a6.getActionCommand()+ a6.isSelected());

}

}

};

a1.addItemListener(i2);

    a2.addItemListener(i2);

    a3.addItemListener(i2);

    a4.addItemListener(i2);

    a5.addItemListener(i2);

    a6.addItemListener(i2);

jf.setVisible(true);

jf.setSize(500,450);

}

@Override

public void itemStateChanged(ItemEvent e) {

// TODO Auto-generated method stub

}

}

图 1个人简历界面

2.功能实现:

  • 姓名、年龄、民族可以输入个人信息。
  • 性别单选框选择下方文本框会显示选择的项目
  • 复选框爱好选择会在下方文本区域中显示。

  1. 主要实现方式:
  1. 单选框的实现:

JRadioButton b1= new JRadioButton("男");

JRadioButton b2= new JRadioButton("女");

ButtonGroup bg=new ButtonGroup ( );

bg.add(b1);

bg.add(b2);

jp1.add(b1);

jp1.add(b2);

将b1、b2 放在buttongroup里实现单选的效果。

  1. 复选框的实现:

JLabel jb2=new JLabel("爱好");

JCheckBox a1=new JCheckBox("唱歌");

JCheckBox a2=new JCheckBox("跳舞");

JCheckBox a3=new JCheckBox("编程");

JCheckBox a4=new JCheckBox("打游戏");

JCheckBox a5=new JCheckBox("游泳");

JCheckBox a6=new JCheckBox("跑步");

将a1,a2,a3,a4,a5,a6六个复选框的选项放到JcheckBox里实现复选框的功能。

  1. 实现选择单选框和复选框可在下方文本区显示的功能。

ItemListener i1 = new ItemListener ()

{ public void itemStateChanged(ItemEvent e)

{ JRadioButton rb = (JRadioButton) e.getSource();

if  (rb==b1)

{jt.append("\n"+"您选择了"+b1.getActionCommand()+b1.isSelected());}

if(rb==b2) { jt.append("\n"+"您选择了"+b2.getActionCommand()+b2.isSelected());

}

}

};

b1.addItemListener(i1);

    b2.addItemListener(i1);

用事件监听来监听选择的项目,实现选择男或女可以在下方文本区显示

 ItemListener i2 = new ItemListener ()

{ public void itemStateChanged(ItemEvent e)

{ JCheckBox rb1 = (JCheckBox) e.getSource();

if (rb1 == a1)

{ jt.append("\n"+a1.getActionCommand()+ a1.isSelected());

} else if (rb1 == a2)

{ jt.append("\n"+a2.getActionCommand()+ a2.isSelected());

} else if (rb1 == a3)

{ jt.append("\n"+a3.getActionCommand()+ a3.isSelected());

} else if (rb1 == a4)

{ jt.append("\n"+a4.getActionCommand()+ a4.isSelected());

} else if (rb1 == a5)

{ jt.append("\n"+a5.getActionCommand()+ a5.isSelected());

} else if(rb1==a6)

{ jt.append("\n"+a6.getActionCommand()+ a6.isSelected());

}

}

};

a1.addItemListener(i2);

    a2.addItemListener(i2);

    a3.addItemListener(i2);

    a4.addItemListener(i2);

    a5.addItemListener(i2);

    a6.addItemListener(i2);

复选框同样使用itemListener监听器实现监听,将复选选中的项目显示在下方文本区里

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值