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 ...
随机推荐
- Linux下配置一个VNC服务器
在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...
- Learn ZYNQ(10) – zybo cluster word count
1.配置环境说明 spark:5台zybo板,192.168.1.1master,其它4台为slave hadoop:192.168.1.1(外接SanDisk ) 2.单节点hadoop测试: 如果 ...
- 第十周 psp
团队项目PSP 一:表格 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 8:45 10:55 40 35 90 分析与 ...
- awk匹配
输出匹配funcno或type:awk 'funcno|type' 输出两次正则表达式匹配之间的行:awk '/funcno/, /type/' 删除所有的空行:awk NF 从第8行输出到第12行: ...
- Myeclipse java程序中运行图片无法加载并且乱码
Windows---prefrence--workspace--text file encoding亲测有效
- java 特性
1.不支持默认参数 2. 没有指针.malloc.free .内存会自动回收 3. 解释性语言,必须跑在虚拟机上,可以实现跨平台
- requirejs使用
实现模块化.按需加载. 一.配置参数. 1.baseUrl:以一个相对于baseUrl的地址来加载所有的代码. data-main,使用它来启动脚本加载过程,而baseUrl一般设置到与该属性相一 ...
- java中一个查询业务的流程
因为有用到分页,首先建一个page类 1 public class Page<T> { 2 private int pageSize; //每页显示条数 3 private int cur ...
- http://www.cnblogs.com/Lawson/archive/2012/09/03/2669122.html
http://www.cnblogs.com/Lawson/archive/2012/09/03/2669122.html
- Android下Cocos2d创建HelloWorld工程
最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp ...