您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 网络编程技术第二次课JavaSwing组件代码
11)GuessNumber.java/*编写一个“猜数”程序,该程序随机在1到100的范围内选择一个供用户猜测的整数,然后该程序显示提示信息,要求用户输入一个1到100之间的整数,根据输入数偏大、偏小、正确,程序将显示不同的文本提示信息。*/publicclassGuessNumberextendsJFrameimplementsActionListener{//监听者是包容事件源的容器JFrameintrandInt=0;//存储系统产生的随机整数intuserInt=0;//存储用户通过文本框输入的整数JLabellabel1;JLabellabel2;JTextFieldnumJtf;//用于用于输入猜想数字的单行文本框JButtonokBtn;//确定按钮publicvoidinit(){setLayout(newFlowLayout());//设置为流布局方式randInt=(int)(Math.random()*100);//系统产生随机整数//System.out.println(randInt=+randInt);label1=newJLabel(请输入一个1到100之间的整数);numJtf=newJTextField(10);label2=newJLabel(猜猜看!);okBtn=newJButton(确定);//定义JFrame中包含的组件add(label1);add(numJtf);add(okBtn);add(label2);//将组件加入到JFrame容器中okBtn.addActionListener(this);//注册动作事件numJtf.addActionListener(this);//注册动作事件setSize(300,150);//设置JFrame容器尺寸setVisible(true);//设置JFrame容器可见setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//按下关闭按钮时关闭窗口}publicvoideventHandle(){//触发动作事件时的处理过程try{userInt=Integer.parseInt(numJtf.getText().trim());//提出用户在文本框中的信息输入}catch(NumberFormatExceptionex){//如果用户在文本框中没有输入或者输入的内容不是数值型数据所做的出来JOptionPane.showMessageDialog(this,请将您猜得的整数输入到文本框中!);//弹出对话框提示用户请将您猜得的整数输入到文本框中!numJtf.setText();numJtf.requestFocus();//文本框清空并使得文本框重新获得焦点}if(userInt0||userInt100){//用户输入的数据在0-100范围之外所做的处理JOptionPane.showMessageDialog(this,请输入0到100之间的整数!);numJtf.setText();numJtf.requestFocus();}if(userIntrandInt){//用户输入的数值偏小label2.setText(您猜的数值偏小!);numJtf.requestFocus();}elseif(userIntrandInt){//用户输入的数值偏大label2.setText(您猜的数值偏大!);numJtf.requestFocus();}elseif(userInt==randInt){//用户猜对了label2.setText(恭喜您,猜对了!);}2}publicvoidactionPerformed(ActionEvente){/*监听者可以是包容事件源的容器JFrame,直接实现动作事件接口ActionListener所需要实现的方法actionPerformed(ActionEvente)*/if(e.getSource()==okBtn){//如果触发动作事件的事件源是确定按钮okBtneventHandle();}elseif(e.getSource()==numJtf){//如果触发动作事件的事件源是文本框numJtfeventHandle();}}publicstaticvoidmain(String[]args){newGuessNumber().init();}}2)GuessNumber1.javapublicclassGuessNumber1extendsJFrame{//监听者是一个内部类……publicvoidinit(){setLayout(newFlowLayout());//设置为流布局方式……okBtn.addActionListener(newActionEventHandler());//注册动作事件numJtf.addActionListener(newActionEventHandler());//注册动作事件setSize(300,150);//设置JFrame容器尺寸setVisible(true);//设置JFrame容器可见setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//按下关闭按钮时关闭窗口}classActionEventHandlerimplementsActionListener{//监听者是一个内部类ActionEventHandlerpublicvoidactionPerformed(ActionEvente){/*监听者可以是包容事件源的容器JFrame,直接实现动作事件接口ActionListener所需要实现的方法actionPerformed(ActionEvente)*/if(e.getSource()==okBtn){//如果触发动作事件的事件源是确定按钮okBtneventHandle();}elseif(e.getSource()==numJtf){//如果触发动作事件的事件源是文本框numJtfeventHandle();}}}publicvoideventHandle(){//触发动作事件时的处理过程……}publicstaticvoidmain(String[]args){newGuessNumber1().init();}}5)GuessNumber3.javapublicclassGuessNumber3extendsJFrame{//监听者是一个匿名内部类的情况……publicvoidinit(){setLayout(newFlowLayout());//设置为流布局方式……okBtn=newJButton(确定);//定义JFrame中包含的组件3……okBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(e.getSource()==okBtn){//如果触发动作事件的事件源是确定按钮okBtneventHandle();}elseif(e.getSource()==numJtf){//如果触发动作事件的事件源是文本框numJtfeventHandle();}}});//使用匿名内部内注册动作事件numJtf.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(e.getSource()==okBtn){//如果触发动作事件的事件源是确定按钮okBtneventHandle();}elseif(e.getSource()==numJtf){//如果触发动作事件的事件源是文本框numJtfeventHandle();}}});//使用匿名内部内注册动作事件setSize(300,150);//设置JFrame容器尺寸setVisible(true);//设置JFrame容器可见setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//按下关闭按钮时关闭窗口}publicvoideventHandle(){//触发动作事件时的处理过程……}publicstaticvoidmain(String[]args){newGuessNumber3().init();}}4)FontStyleAndColor.java/*建立两个单选按钮组,其中一个单选按钮组对Label的字体颜色进行控制,另外一个单选按钮对Label的字体效果进行控制。同时还有一个“退出”按钮。*/publicclassFontStyleAndColorextendsJFrameimplementsItemListener,ActionListener{//继承了动作事件和项目事件接口ButtonGroupbg1,bg2;//两个单选按钮组JRadioButtonredColor,blueColor,greenColor;//红色,蓝色,绿色三个按钮JRadioButtonfontStyle1,fontStyle2,fontStyle3;//普通,黑体,斜体三个单选按钮JButtonexitBtn;JLabellabel1,label2;JRadioButtontempColor,tempStyle;Colorcolor;//颜色类publicvoidinit(){setLayout(newFlowLayout());//第一组单选按钮bg1=newButtonGroup();redColor=newJRadioButton(红色,true);blueColor=newJRadioButton(蓝色,false);greenColor=newJRadioButton(绿色,false);bg1.add(redColor);bg1.add(blueColor);bg1.add(greenColor);//将三个单选加到单选按钮组ButtonGroup中add(redColor);add(blueColor);add(greenColor);//将三个单项按钮加到容器JFrame中//注册选择事件4redColor.addItemListener(this);blueColor.addItemListener(this);greenColor.addItemListener(this);//给单选按钮注册项目事件label2=newJLabel();add(label2);//第二组单选按钮bg2=newButtonGroup();fontStyle1=newJRadioButton(普通,true);fontStyle2=newJRadioButton(黑体,false);fontStyle3=newJRadioButton(斜体,false);fontStyle1.addItemListener(this);fontStyle2.addItemListener(this);fontStyle3.addItemListener(this);bg2.add(fontStyle1);bg2.add(fontStyle2);bg2.add(fontStyle3);add(fontStyle1);add(fontStyle2);add(fontStyle3);//字体变化的labellabel1=newJLabel(看看我的字体是如何变化的!);add(label1);//注册选择事件exitBtn=newJButton(退出);exitBtn.addActionListener(this);//add(okBtn);add(exitBtn);setSize(400,100);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXI
本文标题:网络编程技术第二次课JavaSwing组件代码
链接地址:https://www.777doc.com/doc-2142932 .html