这次通过学习,我掌握了下拉菜单和单选按钮的使用
下拉菜单构造方法:
JComboBox()
创建具有默认数据模型的 JComboBox。
JComboBox(ComboBoxModel aModel)
创建一个 JComboBox,其项取自现有的 ComboBoxModel 中
JComboBox(Object[] items)
创建包含指定数组中的元素的 JComboBox。
JComboBox(Vector<?> items)
创建包含指定 Vector 中的元素的 JComboBox。
单选按钮构造方法:
JRadioButton()
创建一个初始化为未选择的单选按钮,其文本未设定。
JRadioButton(Action a)
创建一个单选按钮,其属性来自提供的 Action。
JRadioButton(Icon icon)
创建一个初始化为未选择的单选按钮,其具有指定的图像但无文本。
JRadioButton(Icon icon, boolean selected)
创建一个具有指定图像和选择状态的单选按钮,但无文本。
JRadioButton(String text)
创建一个具有指定文本的状态为未选择的单选按钮。
JRadioButton(String text, boolean selected)
创建一个具有指定文本和选择状态的单选按钮。
JRadioButton(String text, Icon icon)
创建一个具有指定的文本和图像并初始化为未选择的单选按钮。
JRadioButton(String text, Icon icon, boolean selected)
创建一个具有指定的文本、图像和选择状态的单选按钮。

使用按钮、标签、下拉菜单、密码框、文本框、单选按钮等组件编写了一个“考试报名”的小程序


import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;

import java.util.ArrayList;

public class Test extends JFrame {

private static final String VERSION = " 绿色中文版3.2.0";
private JFrame frame;
private JList lb;
private JLabel statusLabel;
private JButton an1, an2,an3,an4,an5;// 按钮
private JLabel bq1, bq2, bq3, bq4, bq5, bq6,bq7,bq8,bq9,bq10,bq11,bq12;
private JPanel mb1, mb2, mb3, xuanxiang, center,mb4;
private JTextField wbk;
private JPasswordField mmk;
private JComboBox xlk;
private JScrollPane gd;
private JRadioButton dx1,dx2;
private ButtonGroup dxz;
private JDialog d;
public Test()
{
makeFrame();
}

private void makeFrame() {
// north
xuanxiang = new JPanel();
bq4 = new JLabel("报考科目:");
bq5 = new JLabel("学历");
String[] jg = { "二级计算机", "二级C语言", "会计从业资格证", "英语四级", "英语六级", "JAVA二级" };
xlk = new JComboBox(jg);

String[] xl = { "高中", "大专", "本科", "硕士", "博士" };
lb = new JList(xl);
lb.setVisibleRowCount(1);
gd = new JScrollPane(lb);
this.setLayout(new GridLayout(2, 1));

xuanxiang.add(bq4);
xuanxiang.add(xlk);
xuanxiang.add(bq5);
xuanxiang.add(gd);
// center
center = new JPanel();
bq4=new JLabel("(一)考生保证不利用本网站从事任何违反法律法规和政策规定的活动, ");
bq9=new JLabel(" 考生保证不进行针对本网站的任何恶意行为。 ");
bq7=new JLabel(" (二)考生承诺已认真阅读本协议,凡点击“同意”之后,表示已与 我 ");
bq10=new JLabel("方自愿达成本协议并完全接受协议各条款的约束。 ");
bq8=new JLabel(" (三)考生承诺将仔细阅读本系统指导考生操作的规定(如报考须知等) ");
bq11=new JLabel("并严格按照其要求操作。 ");

dx1=new JRadioButton("同意");//添加事件响应若选择同意则可以点击报名按钮
dx1.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
an3.setEnabled(true);

}});
dx2=new JRadioButton("不同意");//添加事件响应若选择不同意则不可以点击报名按钮
dx2.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
an3.setEnabled(false);

}});
dx1.setSelected(true);//单选按钮默认选择同意
dxz=new ButtonGroup();
dxz.add(dx1); dxz.add(dx2);
bq12=new JLabel(" ");
an3 = new JButton("报名");
an3.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub

JOptionPane.showMessageDialog(null, "恭喜!您已成功报名");
}});
an4= new JButton("退出");
an4.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}});
center.add(bq4);
center.add(bq9);
center.add(bq7);
center.add(bq10);
center.add(bq8);
center.add(bq11);
center.add(bq12);
center.add(dx1); center.add(dx2);
center.add(bq12);
center.add(an3);center.add(an4);
// 窗口
frame = new JFrame("考试报名系统");
makeMenuBar(frame);

Container contentPane = frame.getContentPane();

// Specify the layout manager with nice spacing
contentPane.setLayout(new BorderLayout(6, 6));

contentPane.add(xuanxiang, BorderLayout.NORTH);
contentPane.add(center, BorderLayout.CENTER);
// 通过创建标签对象,在标签中显示VERSION版本信息
statusLabel = new JLabel(VERSION);
contentPane.add(statusLabel, BorderLayout.SOUTH);

ImageIcon tp11 = new ImageIcon("图片/iconpng.png");
frame.setIconImage(tp11.getImage());
frame.pack();
// 通过计算把窗口显示在屏幕中间

frame.setLocation(300,280);
frame.setResizable(false);
frame.setSize(450, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void makeMenuBar(final JFrame frame) {// 声明常量,用于定义菜单的快捷键
final int SHORTCUT_MASK = Toolkit.getDefaultToolkit()
.getMenuShortcutKeyMask();// 获得菜单快捷键的掩码

JMenuBar menubar = new JMenuBar();
frame.setJMenuBar(menubar);

JMenu menu;
JMenuItem item;

// create the File menu
menu = new JMenu("用户登录");
menubar.add(menu);

item = new JMenuItem("登录|注册...");
item.setAccelerator(KeyStroke
.getKeyStroke(KeyEvent.VK_O, SHORTCUT_MASK)); // 给Open菜单添加快捷键Ctrl+O
menu.add(item);
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {

final JDialog dialog = new JDialog(frame, "登录|注册", true);
mb1 = new JPanel();
mb2 = new JPanel();
mb3 = new JPanel();
bq1 = new JLabel("用户名");
bq2 = new JLabel("密 码");
bq3 = new JLabel("<html><a href='www.qq.com'>注册</a>");
bq3.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
an1 = new JButton("登录");
an2 = new JButton("取消");
wbk = new JTextField(10);
mmk = new JPasswordField(10);
dialog.setLayout(new GridLayout(3, 1));
an1 = new JButton("确定");
an1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
dialog.dispose();
}
});
an2 = new JButton("取消");
an2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
dialog.dispose();
}
});
mb1.add(bq1);
mb1.add(wbk);
mb2.add(bq2);
mb2.add(mmk);
mb3.add(an1);
mb3.add(an2);
mb3.add(bq3);

dialog.add(mb1);
dialog.add(mb2);
dialog.add(mb3);
dialog.setBounds(600, 400, 200, 150);
dialog.setResizable(false);
dialog.setVisible(true);
dialog.setResizable(false);

}
});

menu.addSeparator();

item = new JMenuItem("退出");
item.setAccelerator(KeyStroke
.getKeyStroke(KeyEvent.VK_Q, SHORTCUT_MASK));
item.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
System.exit(0);
}
});
menu.add(item);

menu = new JMenu("帮助");
menubar.add(menu);

item = new JMenuItem("关于我们...");
item.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(null, "当前版本为绿色中文版3.2.0");
}
});
menu.add(item);

}

public static void main(String[] args) {
// TODO Auto-generated method stub
new Test();
}

}

我的照片

java第二次作业的更多相关文章

  1. JAVA第二次作业展示与学习心得

    JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...

  2. Java第二周作业

    Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...

  3. Java第二次作业參考代码

    Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...

  4. Java第二次作业——数组和String类

    Java第二次作业--数组和String类 学习总结 1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法.举例说明equals方法和==的区别 ...

  5. Java第二次作业程序设计作业

    本次作业包含两个部分:一是以下4个题目的程序源码和运行结果截图:二是本次作业的小结(谈谈你在做作业的过程中遇到了哪些问题,如何解决,有哪些收获). 1.编写"人"类及其测试类. 1 ...

  6. Java第二次作业--数组和String类

    Deadline: 2017-3-28 23:00 一.学习要点 认真看书并查阅相关资料,掌握以下内容: 掌握基本数据类型和引用数据类型的区别 理解对象的生成与引用的关系 掌握构造方法的重载 掌握St ...

  7. Java第二次作业第二题

    请编写图像界面程序,用户在第一文本行输入数字,有三个按钮,分别是计算2进制,8进制,16进制,点击其中一个按钮,第一个文本行中的数据转换为相应进制的数显示在第二个文本行中. package naizi ...

  8. 1903021116-吉琛- JAVA第二周作业—Java程序编写

    项目 内容 课程班级博客链接 19级信计班 这个作业要求链接 https://www.cnblogs.com/thelovelybugfly/p/9641367.html 我的课程学习目标 1. 学习 ...

  9. Java 第二次作业

    package javazuoye;import javax.swing.*; import java.awt.*;import java.awt.event.*;public class dengl ...

随机推荐

  1. jQuery实现的简单小功能(实用)

    1.返回顶部使用JQuery的animate和scrollTop方法可以创建简单地返回顶部的动画: // Back to top $('#top').click(function (e) { e.pr ...

  2. iOS开发之GCD

    GCD,全称Grand Central Dispath,是苹果开发的一种支持并行操作的机制.它的主要部件是一个FIFO队列和一个线程池,前者用来添加任务,后者用来执行任务. GCD中的FIFO队列称为 ...

  3. baiduMap

    1.把百度地图定位API(下载地址:http://lbsyun.baidu.com/sdk/download?selected=location),里面的lib福祉到自己的项目中 2,进行相关配置(官 ...

  4. linux vps安装kloxo配置全部过程

    第一步如何登录Linux VPS进行远程(SSH)管理 很多人可能用过免费虚拟主机,但绝没有用过好用的免费服务器租用,仅有的少数免费服务器都只针对有较高访问量的大站(以交换广告为条件),而普通小站是无 ...

  5. CentOS 创建SVN 服务器,并且自动同步到WEB 目录

    CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报  分类: ...

  6. SSH登录远程主机执行脚本找不到环境变量

    这是因为在Linux上,bash会有四种模式,根据不同的case,Linux会加载不同模式的bash.一般如果你自己直接登录主机,能看到环境变量,但是使用ssh 远程登录执行脚本就找不到环境变量,那么 ...

  7. chrome中hack解决input:-webkit-autofill自定义样式

    在使用chrome浏览器设计网页时,想将input背景改成透明,也就是 background-color:transparent; 可是效果并不如人意 hack方法: input:-webkit-au ...

  8. MySQL 插入数据 通过命令提示窗口插入数据

    MySQL 表中使用 INSERT INTO SQL语句来插入数据. 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 语法 以下为向MySQL数据表插 ...

  9. 配置 Docker 加速器(Docker Hub Mirror)

    Docker 加速器是什么,我需要使用吗? 使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验.因此 DaoCl ...

  10. EasyUI分页

    $("#tanModelBox1").css("display","none"); $('#dg').datagrid({ fitColum ...