java第二次作业
这次通过学习,我掌握了下拉菜单和单选按钮的使用
下拉菜单构造方法:
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第二次作业的更多相关文章
- JAVA第二次作业展示与学习心得
JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...
- Java第二周作业
Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...
- Java第二次作业參考代码
Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...
- Java第二次作业——数组和String类
Java第二次作业--数组和String类 学习总结 1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法.举例说明equals方法和==的区别 ...
- Java第二次作业程序设计作业
本次作业包含两个部分:一是以下4个题目的程序源码和运行结果截图:二是本次作业的小结(谈谈你在做作业的过程中遇到了哪些问题,如何解决,有哪些收获). 1.编写"人"类及其测试类. 1 ...
- Java第二次作业--数组和String类
Deadline: 2017-3-28 23:00 一.学习要点 认真看书并查阅相关资料,掌握以下内容: 掌握基本数据类型和引用数据类型的区别 理解对象的生成与引用的关系 掌握构造方法的重载 掌握St ...
- Java第二次作业第二题
请编写图像界面程序,用户在第一文本行输入数字,有三个按钮,分别是计算2进制,8进制,16进制,点击其中一个按钮,第一个文本行中的数据转换为相应进制的数显示在第二个文本行中. package naizi ...
- 1903021116-吉琛- JAVA第二周作业—Java程序编写
项目 内容 课程班级博客链接 19级信计班 这个作业要求链接 https://www.cnblogs.com/thelovelybugfly/p/9641367.html 我的课程学习目标 1. 学习 ...
- Java 第二次作业
package javazuoye;import javax.swing.*; import java.awt.*;import java.awt.event.*;public class dengl ...
随机推荐
- 浅谈java抽象类和接口
第一次,写这个,没有把图片放上来,有兴趣的可以点击连接看原文 http://note.youdao.com/noteshare?id=aecbd52b9240f23c0954e8086b848a17 ...
- iOS项目的本地化处理(多国语言)
项目的本地化就是:iOS系统在不同语言环境下自动切换语言,从而实现一个app发布到全世界各个国家的AppStore上. 我们不仅仅需要在iOS项目中做本地化处理,在上架iOS APP的时候,也需要做对 ...
- CG_INLINE,inline 内联函数
内联函数,即在编译的时候将函数体替换函数调用,从而不需要将parameter,return address进行push/pop stack的操作,从而加速app的运行,然而,会增加二进制文件的大小. ...
- WordPress基础:文章的自定义栏目的使用
写文章只有标题和内容,那么我想加个加个怎么办呢?这时候就可以用到自定义栏目了,这个功能相当于增加了一个键值对 1.启动“自定义栏目” 2.定义键值对 3.调用自定义栏目值 <?php $pric ...
- jquery的each()详细介绍
each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组.多维数组.DOM, JSON 等等在javaScript开发过程中使用$ ...
- SELENIUM2 使用JavascriptExecutor在页面Javascipt执行
目的: 1. 执行一段JS,来改变HTML2. 一些非标准控件无法用selenium2的API时,可以执行JS的办法来取代 主要操作:JavascriptExecutor j = (Javascrip ...
- 就publish/subscribe功能看redis集群模式下的队列技术(一)
Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中 ...
- 自动打开Accesibility Service 可以自动安装APP
package com.venscor.helloworld;import java.io.BufferedReader;import java.io.IOException;import java. ...
- [PCL]点云渐进形态学滤波
PCL支持点云的形态学滤波,四种操作:侵蚀.膨胀.开(先侵蚀后膨胀).闭(先膨胀后侵蚀) 在#include <pcl/filters/morphological_filter.h>中定义 ...
- 使用SpringMVC集成SpringSession的问题
最近在使用SpringSession时遇到一个问题,错误日志如下: Exception sending context initialized event to listener instance o ...