这次通过学习,我掌握了下拉菜单和单选按钮的使用
下拉菜单构造方法:
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. Java学习_int和Integer的区别+包装类

    1.Java 中的数据类型分为基本数据类型和引用数据类型 int是基本数据类型,Integer是引用数据类型: Ingeter是int的包装类,int的初值为0,Ingeter的初值为null. 2. ...

  2. Android四大组件之actiivity

    1.Acitivity Activity是Android一个非常重要的用户接口(四大组件之一),是可见的,主要是用户和应用程序之间进行交互的接口.在每个Activity中都可以放很多控件,所以也可以把 ...

  3. Android课程---优化ListView列表视图(2)

    layout_simple.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  4. 解决svn working copy locked问题

    标题:working copy locked 提示:your working copy appears to be locked. run cleanup to amend the situation ...

  5. HTML5 history新特性pushState、replaceState

    DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,让你可以在用户的访问记录中前进和后退. 从HTML5开始,我们可以开始操作这个历史记录堆栈. 1.Histo ...

  6. hibernate学习(6)——加载策略(优化)

    1. 检索方式 1  立即检索:立即查询,在执行查询语句时,立即查询所有的数据. 2 延迟检索:延迟查询,在执行查询语句之后,在需要时在查询.(懒加载) 2.  检查策略 1  类级别检索:当前的类的 ...

  7. 2在HTML中使用JavaScript

    像HTML页面中插入JavaScrip的主要方法,就是使用<script>元素.HTML4.01为<script>定义了6个属性:async:可选,表示应该立即下载脚本,当不妨 ...

  8. Mysql5.6.17 zip版本安装

    1.把 mysql解压到自定义 D:\mysql-5.6.17-W642.我的电脑--属性--高级--环境变量--系统变量--新建系统环境变量       变量名:MYSQL_HOME       变 ...

  9. SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束

    CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...

  10. Android--Activity(活动)

    1. 安卓中的 Activity 大致等于桌面应用中的window 2. Activity 的生命周期由系统控制, 所以在开发时要假设 Activity 会被随时销毁掉的情况, 比如: 应用中有一个 ...