java图形化界面练习及答案
- 格式:docx
- 大小:19.40 KB
- 文档页数:17
图形与用户界面设计一.选择题1.Window是宣示屏上独立的本机窗口,它独立于其它容器,Window 的两种形式是()A、Frame和Dialog??????B、Panel和FrameC、Container和ComponentD、LayoutManager和Container2.框架(Frame)的缺省布局管理器就是()A、流程布局(Flow Layout)B、卡布局(Card Layout)C、边框布局(Border Layout)D、网格布局(Grid Layout)3.java.awt包提供了基本的java程序的GUI设计工具,包含控件、容器和()A、布局管理器B、数据传送器C、图形和图像工具D、用户界面构件4.所有Swing构件都实现了()接口A、ActionListener ???B、SerializableC、AccessibleD、MouseListener5.事件处理机制能够让图形界面响应用户的操作,主要包括()A、事件B、事件处理C、事件源D、以上都是6.Swing采用的设计规范是????()A、视图----模式----控制B、模式-----视图---控制C、控制-----模式----视图D、控制----视图-----模式7.抽象窗口工具包( )是java提供的建立图形用户界面GUI的开发包.A、AWTB、SwingC、Java.ioD、ng8.关于使用Swing的基本规则,下列说法正确的是( )A、Swing构件可直接添加到顶级容器中B、要尽量使用非Swing的重要级构件C、Swing的JButton不能直接放到Frame上D、以上说法都对9.下列不属于java.event包中定义的事件适配器的是( )A、构件适配器B、焦点适配器C、键盘适配器D、标签适配器10.( )布局管理器使容器中各个构件呈网格布局,平均占据容器空间。
A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout11.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变( )A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout12.paint()方法使用哪种类型的参数A、GraphicsB、Graphics2 DC、StringD、 Color13.监听事件和处理事件( )?????A、都由Listener完成B、都由相应事件Listener处注册过的组件完成C、由Listener和组件分别完成D、由Listener和窗口分别完成14.下列哪个属于容器的组件( )A、JFrameB、JButtonC、JPnelD、 Japplet15.下列不属于容器的是( )A、WindowB、TextBoxC、PanelD、ScrollPane16.下面哪个语句是正确的( )A、Object o=new Button(″A″);B、Button b=new Object(″B″);C、Panel p=new Frame();D、Frame f=new Panel();二.填空题1、在需要自定义Swing构件的时候,首先要确定使用那种构件类作为所定制构件的______,一般继承Jpanel类或更具体的Swing类.2、Swing的事件处理机制包括_____、事件和事件处理者。
第6章习题解答1.简述Java中设计图形用户界面程序的主要步骤。
对于设计图形用户界面程序而言,一般分为两个步骤:第一步,设计相应的用户界面,并根据需要对相关的组件进行布局;第二步,添加相关的事件处理,如鼠标、菜单、按钮和键盘等事件。
2.试说明容器与组件之间的关系。
组件(component)是图形用户界面中的各种部件(如标签、按钮、文本框等等),所有的组件类都继承自JComponent类。
容器(container)是用来放置其他组件的一种特殊部件,在java中容器用Container类描述。
3.阅读下面程序,说明其运行结果和功能。
//filename:MyFrame.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyFrame{public static void main(String agrs[]){JFrame f=new JFrame("简单窗体示例");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel l=new JLabel("习题1");f.getContentPane().add(l,BorderLayout.CENTER);f.pack();f.setVisible(true);}}程序的运行结果如下:4.阅读下面程序,说明其运行结果和功能。
//filename:TestButton.javaimport java.awt.*;import javax.swing.*;public class TestButton extends JFrame{JButton b1,b2;TestButton(String s){super(s);b1=new JButton("按钮1");b2=new JButton("按钮2");setLayout(new FlowLayout());add(b1);add(b2);setSize(300,100);setVisible(true);}public static void main(String args[]){ TestButton test;test=new TestButton("测试按钮"); }}程序的运行结果如下:5.阅读下面程序,说明其运行结果和功能。
编程图形化二级考试答案一、选择题1. 在编程图形化环境中,以下哪个选项不是事件类型?A. 当按下并释放鼠标按钮时B. 当按下鼠标按钮时C. 当鼠标移动到舞台上时D. 当接收到键盘输入时答案:D2. 在编程图形化环境中,以下哪个选项不是控制结构?A. 重复执行B. 如果那么C. 等待直到D. 变量赋值答案:D3. 在编程图形化环境中,以下哪个选项不是画笔功能?A. 落笔B. 抬笔C. 清除D. 显示变量答案:D4. 在编程图形化环境中,以下哪个选项不是声音功能?A. 播放声音B. 停止所有声音C. 等待音符播放完毕D. 显示变量答案:D5. 在编程图形化环境中,以下哪个选项不是变量类型?A. 列表B. 布尔值C. 数字D. 字符串答案:B二、填空题1. 在编程图形化环境中,使用“______”积木可以创建一个新变量。
答案:创建变量2. 在编程图形化环境中,使用“______”积木可以重复执行一段代码。
答案:重复执行3. 在编程图形化环境中,使用“______”积木可以改变角色的朝向。
答案:面向4. 在编程图形化环境中,使用“______”积木可以播放一段声音。
答案:播放声音5. 在编程图形化环境中,使用“______”积木可以显示一个列表。
答案:显示列表三、简答题1. 描述在编程图形化环境中如何实现一个角色在舞台上左右移动的效果。
答案:可以通过使用“当按下并释放鼠标按钮时”积木来检测鼠标的左右按键,然后使用“移动”积木和“转向”积木来控制角色的移动方向和距离。
2. 说明在编程图形化环境中如何实现一个角色在舞台上上下跳跃的效果。
答案:可以通过使用“当按下并释放鼠标按钮时”积木来检测鼠标的上下按键,然后使用“改变y坐标”积木来改变角色在舞台上的垂直位置,实现跳跃效果。
四、编程题1. 编写一个程序,使得一个角色在舞台上随机移动,并且每次移动后都会改变颜色。
答案:首先创建一个角色,然后使用“重复执行”积木来不断执行移动和颜色改变的代码。
第6章Java语言的图形用户界面开发技术作业习题与答案一、简答题略二、填空题1.版面管理器2.图形用户界面3.标签4・ mousoRcleased5.CheckboxGroup6.适配器类7.事件类&事件机制事件源三、选择题第1至10题:B D C C A四、编程题1.import java.awt. *;public class ChaSixProgl extends Frame}Choice ch:Checkbox bg,fg;Button btnOK.btnCancel;Panel p,pl,p2;public ChaSixProgl(){super(”颜色选择窗口");p=new Panel();p.selLayout(new GridLayout(2,1)); pl=new Panel();p2=new Panel();pl.setLayout(new FlowLayout());p2.setLayout(new FlowLayout()); ch=new Choice();ch.add(”红色“);ch.add(”黄色“);ch.add(”黑色“);ch.add(”紫色“);ch.add(” 绿色“);bg=new Checkbox("背景”);fg=new Checkbox(n前景”);pl.add(bg);pl.add(fg);btnOK=new Button(”确定“);btnCancel=new Button("取消”);p2.add(btnOK);p2.add(btnCancel);p.add(pl);p.add(p2);add(ch,BorderLayoutWO/?77/);add(p,BorderLayout.CEA^TE/?);setSize(400,300);}public static void main(String[J args){ChaSixProgl ChSP= new ChaSixProgl();ChSP.setVisible(true);ChSP.addWindowListener(new MyWindowListenerl()); } }2.import java.awt.*;import java.awt.event.*;public class ChaSixProg2 extends Frame implements ActionListener{ TextField textField 1 ,textField2,textField3;Button button 1 =new Button(n计算”);Panel panell,panel2;public ChaSixProg2(){super(”计算商品总价”);textField l=new TextField(20);textField2=new TextField(20);textField3=new TextField(20);panel 1 =new Panel();panel2=new Panel();panel 1 .setLayout(new GridLayout(3,2));panel2.setLayout(new FlowLayoutO);panell.add(new Label("商品单价:"));panel 1 .add(textField 1);panell.add(new Label(,r商品数量:"));panel 1. add(textField2);panel 1 .add(new Label("商品总额:")); panel 1 .add(textField3);panel2.add(button 1); add(panel 1 ,BorderLayout.CENTER);add(panel2,BorderLayout.SOUTH);button 1 .addActionListener(this); setSize(300,200);setVisible(true);}public static void main(String[] args){ChaSixProg2 Chapl = new ChaSixProg2();Chap 1 .setVisible(true);Chap 1 .addWindowListener(new MyWindowListener 1 ()); }public void actionPerformed(ActionEvent e){int nl,n2,sum;n 1 =Integer.parseInt(textField LgetTextO);n2=Integer.parseInt(textField2.getText());sum=nl*n2;textField3.setText(M"+sum);}}3.import java.awt. *;import java.awt.event.*;public class ChaSixProg3 extends Frame{TextField textField 1 ,textField2;Button button 1;public ChaSixProg3(){ super(”温度转换窗口“);textField l=new TextField(30);textField2=new TextField(30); button l=new Button(M转换”);setLayout(newFlowLayoutO); add(new Label(H华氏温度: add(textFieldl);add(new Label(M摄氏温度:”));add(textField2);textField2.setEditable(false); add(buttonl);setSize(400,300);pack();button! .addActionListener(new ActionListener(){ public voidactionPerformed(ActionEvent e){ button 1 _actionPerformed(e);}});addWindowListener(new WindowAdapter() { public voidwindowClosing(WindowEvent e){ System.exit(O);)));}public static void main(String[] args){ChaSixProg3 Chasix = new ChaSixProg3();Chasix.setVisible(true);Chasix.addWindowListener(new MyWindowListener 1 ()); }private void button 1 _actionPerformed(ActionEvent e){double d=Double.parseDouble(textFieldl.getText()); double h=5.0/9.0*(d-32);textField2.setText(K,,+h);}} import java.awt. *;import java.awt.event.*;import java.applet.*;public class TestCardLayout {Button first = new Button("第一张卡片"),second = new Button("第二张卡片n),third = new Button(”第三张卡片”);Frame TestFrame = new Frame("布局管理器一CardLayout'1);Panel cards = new Panel();Panel p = new Panel();CardLayout cl = new CardLayout();public static void main(String args[]){TestCardLayout TestCards = new TestCardLayout();TestCards.test();public void test(){TestFrame.setLayout(new BorderLayoutO);p.setLayout(new FlowLayoutO);p.add(first);p.add(second);p.add(third);TestFrame.add(n North M, p);cards.setLayout(cl);cards.add(n card 1 *',new Panel().add(new Button(”第一张卡片")));cards.add(n card2",new Panel().add(new Button(”第二张卡片”)));cards.add(n card3*',new Panel().add(new Button(”第三张卡片”)));TestFrame.add(M Center f\ cards);TestFrame.setSize(250,200);TestFrame.setVisible(true);TestFrame.addWindowListener(new MyWindowListenerlO);first.addActionListener(new ActionListenerOfButton ());second.addActionListener(new ActionListenerOfButton ());third.addActionListener(new ActionListenerOfButton ());}class ActionListenerOfButton implements ActionListener{public void actionPerformed(ActionEvent e){Object source=e.getSource();if ( source==first)cl.first(cards);else if ( source==second ){cl.first(cards);cl.next(cards);}else if ( source==third )st(cards);。
1.在JavaFX中,用于创建一个窗口的类是?o A. Sceneo B. Stageo C. Groupo D. BorderPane答案: B解析: Stage类在JavaFX中用于创建主要的窗口。
它是所有JavaFX应用程序的起点。
2.JavaFX中的Scene对象需要什么参数来初始化?o A. 一个Node和背景颜色o B. 一个Stage和宽度o C. 宽度、高度和一个Nodeo D. 宽度、高度和背景音乐答案: C解析: Scene在JavaFX中通过指定宽度、高度和一个作为其根的Node来初始化。
3.下列哪个JavaFX类用于实现一个按钮?o A. Labelo B. TextFieldo C. Buttono D. CheckBox答案: C解析: Button类用于创建用户可以点击的按钮。
4.JavaFX中使用哪种布局管理器可以将所有组件放入一个网格中,每个组件占据一个单元格?o A. BorderPaneo B. GridPaneo C. VBoxo D. HBox答案: B解析: GridPane布局管理器用于创建网格布局,其中每个组件可以定位到特定的行和列。
5.下列哪个方法用于在JavaFX的Pane中添加一个Node?o A. addNode(Node node)o B. setNode(Node node)o C. getChildren().add(Node node)o D. add(Node node)答案: C解析: 使用Pane的getChildren().add(Node node)方法将Node添加到Pane 中。
6.JavaFX中,用于处理用户输入的事件处理模型基于?o A. 观察者模式o B. 单例模式o C. 工厂模式o D. 适配器模式答案: A解析: JavaFX的事件处理模型基于观察者模式,允许对象注册并接收事件通知。
7.当一个Button被点击时,哪个事件对象被触发?o A. ActionEvento B. MouseEvento C. KeyEvento D. DragEvent答案: A解析: 当按钮被点击时,触发的是ActionEvent。
作业标题:第四次练习题(总分:100。
0 得分:78。
0分)一、单选题(共有题目15题,共计60。
0分)1。
下列属于容器的组件有A.JButtonB。
JPaneC.CanvasD.JTextArea学生的答案: B标准答案: B该题分数:4.0学生得分:4.0分2。
下列方法中,不属于WindowListener接口的是A。
windowOpened()B.windowClosed()C。
windowActivated()D。
windowAdapter学生的答案: D标准答案: D该题分数:4.0学生得分: 4。
0分3.下列不属于Swing中组件的是( ).A.JPanelB.JTableC。
MenuD.JFrame学生的答案: C标准答案: C该题分数:4。
0学生得分:4。
0分4.以下Swing组件中哪一个不是顶层容器组件( )。
A。
框架B。
对话框C.面板D。
小程序学生的答案: C标准答案: A该题分数:4.0学生得分:0分5。
对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。
A.创建两个单选框对象时定义相同的对象名B.将两个单选框对象放在同一个面板上定义一个ButtonGroup对象group,将两个单选框对象加到group中D。
让两个单选框排成一行或一列学生的答案: C标准答案: C该题分数:4.0学生得分: 4.0分6.容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。
A。
CardLayoutB。
FlowLayoutC.BorderLayoutD。
GridLayout学生的答案: B标准答案: B该题分数:4.0学生得分:4。
0分下列哪个类创建的对象可以触发ActionEvent事件( ). A。
java。
awt.Button类B。
java。
lang包的子类C.java.util。
Date类D。
java。
lang。
StringBuffer类学生的答案: A标准答案: A该题分数:4。
《Java基础入门》课后习题答案第8章GUI(图形用户界面)一、填空题1、在Java 中,图形用户界面简称: GUI2、事件监听器: 负责监听事件源上发生的事件,并对各种事件做出响应处理。
3、GUI 设计提供了一些基本的图形用户接口开发工具,如AWT:Swing 和JavaFX。
4、.如果单击Frame窗口有上角的关闭按相能将其关闭:那么这个Frame窗口添加了:WindowListener 监听器,并实现了监听器:windowClosing(WindowEvent e) 的方法。
5、创建下拉式菜单需要使用三个组件,分别是:JMenuBar、JMenu、JMenuItem二、判断题1、容器(Container)是一个可以包含基本组件和其他容器的组件。
对2.可以通过实现AetionListener 接口或者继承AconAdpter 类来实现动作事件监听器。
错3.CardLayout 布局管理器将界面看做一系列卡片,在任何时候只有其中一张卡片是可见的。
对4.非模态对话框是指用户需要等到处理完对话框后才能继续与其他窗口进行交互。
错5.JFrame 的默认布局管理器是FlowLayout。
错三、选择题1.下面四个组件中哪一个不是JComponent 的子类? (B)A.JButtonB.JDialogC. JLabelD.JMenuBar2.下面四个选项中,哪些是事件处理机制中的角色?(多选) (ABD)A.事件B.事件源C.事件接口D.事件监听器3. ActionEvent 的对象会被传递给以下哪个事件处理器方法? (D)A.addChangeListener()B. addActionListener()C. stateChanged()D. actionPerformed()4.下面哪些是FlowLayout 类中表示对齐方式的常量?(多选) (ABD)A.FlowLayout.LEFTB.FlowLayout.CENTERC. FlowLayout. VERTICALD. FlowLayout. RIGHT5.下列选项中关于JavaFX,描述错误的是(C )A.JavaFX是一个强大的图形和多媒体处理工具包集合B. JavaFX 允许开发者来设计、创建、测试、调试和部署客户端程序C.JavaFX不能与Swing实现互操作D.JavaFX可以实现跨平台功能四、简答题1、请简述GUI 中实现事件监听的步骤:●通过实现XxxListener接口或者继承XxxAdapter类实现一个事件监听器类,并对处理监听动作的方法进行重写●创建事件源对象和事件监听器对象●调用事件源的addXxxLisntener()方法,为事件源注册事件监听器对象2、请简述Swing 中的布局管理器有哪些。
第七章Java图形用户界面练习第七章图形用户界面57 第七章图形用户界面在应用程序开发中,友好的用户界面是一个最基本的要求,本章将使用Java中提供的和类包中有关组件设计用户界面。
实验一:一般用户界面的实现实验目的(1). 了解AWT和Swing常用容器组件和基本组件的作用和功能。
(2). 了解各类布局管理器的作用和功能。
(3). 使用各类布局管理器和组件创建程序的图形用户界面。
实验要求使用和类包中提供了设计用户界面的各种组件,诸如Frame、JFrame、Panel、JPanel 等容器组件、TextField、JTextField、Label、JLabel、Button、JButton等基本组件等,编写程序创建并实现简洁明了的用户界面。
实验内容使用AWT和Swing组件创建一般的应用程序用户界面。
实验示例在前边定义了公司的职员信息类,成员变量包括ID(身份证)、name(姓名)、sex(性别)、birthday(生日)、home(籍贯)、address(居住地)和number(职员号),设计一个录入或显示职工信息的程序界面。
实现该示例的步骤如下:⑴简要分析可以采用Frame容器组件构建用户界面,使用Label组件显示标识,使用TextField组件输入或显示个人信息,使用Button组件确定诸如输入、显示或退出操作。
可以建立一个Frame类的派生类EmployeeMess来完成用户界面的构建。
⑵根据上述简要分析,给出如下参考程序代码():/*公司职员信息界面程序*使用AWT组件构建,采用FlowLayout布局*/ 57 第七章图形用户界面import *; public class EmployeeMess extends Frame { TextField ID = new TextField(18); TextField name = new TextField(10); TextField birthday = new TextField(10); TextField sex =new TextField(2); TextField home = new TextField(18); TextField address = new TextField(18); TextField brithday = new TextField(10); TextField number = new TextField(5); Button oprate = new Button(\操作\ Button exit = new Button(\退出\public EmployeeMess(){ super(\公司职员信息\(new FlowLayout()); (new Label(\身份证号码\把组件加入到框架窗口中(ID); (new Label(\姓名\ (name); (new Label(\性别\ (sex); (new Label(\出生日期\ (birthday); (new Label(\籍贯\ (home); (new Label(\居住地\ (address); (new Label(\职工号\ (number);(oprate);(exit); ();//按合适大小显示对象(true); //设置组件是可见的} } 58 ⑶编译程序,生成类文件,以供其他应用程序所用。
作业标题:第四次练习题(总分:得分:分)一、单选题(共有题目15题,共计分)1.下列属于容器的组件有A.)JButtonB.JPaneC.CanvasD.JTextArea学生的答案: B标准答案: B该题分数:学生得分: 分2.】下列方法中,不属于WindowListener接口的是A.windowOpened()B.windowClosed()C.windowActivated()D.>windowAdapter学生的答案: D标准答案: D该题分数:学生得分: 分3.下列不属于Swing中组件的是( )。
A.JPanelB.JTableC.《MenuD.JFrame学生的答案: C标准答案: C该题分数:学生得分: 分4.以下Swing组件中哪一个不是顶层容器组件( )。
A.框架B.-对话框C.面板D.小程序学生的答案: C标准答案: A该题分数:学生得分: 0分5.对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。
A.》创建两个单选框对象时定义相同的对象名B.将两个单选框对象放在同一个面板上C.定义一个ButtonGroup对象group,将两个单选框对象加到group中D.让两个单选框排成一行或一列学生的答案: C标准答案: C该题分数:学生得分: 分6..容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。
A.CardLayoutB.FlowLayoutC.BorderLayout?D.GridLayout学生的答案: B标准答案: B该题分数:学生得分: 分7.下列哪个类创建的对象可以触发ActionEvent事件( )。
A.类B.包的子类%C.类D.类学生的答案: A标准答案: A该题分数:学生得分: 分8.下列叙述中哪个是正确的( )A.不是任何组件都可以触发MouseEvent事件\B.处理WindowEvent事件的接口是FocusListenerC.类实现了MouseListener接口D.是一个接口学生的答案: C标准答案: C该题分数:学生得分: 分9.在基于Swing的图形用户界面设计中,面板属于( )。
!A.顶层容器B.中间级容器C.窗格D.原子组件"学生的答案: B标准答案: B该题分数:学生得分: 分10.以下对框架的描述不正确的是()。
A.框架是Swing的顶级容器组件B.框架是一个图形界面程序的主窗口C.框架一般包括标题栏、最小化最大化关闭按钮以及边框等%D.一个图形界面程序只能有一个框架学生的答案: D标准答案: D该题分数:学生得分: 分11.监听事件和处理事件( )。
A.都由Listener完成B.都由相应事件Listener处登记过的构件完成>C.由Listener和构件分别完成D.由Listener和窗口分别完成学生的答案: A标准答案: B该题分数:学生得分: 0分12.在Swing中,一下列出的面板的作用中,错误的是A.放置并排列组件(B.显示背景图案C.接收事件D.显示面板的边框学生的答案: C标准答案: C该题分数:学生得分: 分13.在Swing中,如何设置组件的边框%A.通过根窗格的setBorder函数设置某各组件的边框B.通过内容窗格的setBorder函数设置某各组件的边框C.通过组件的setBorder函数设置D.通过框架的setBorder函数设置某各组件的边框-学生的答案: C标准答案: C该题分数:学生得分: 分14.以下关于框架和其他窗口之间的关系中,错误的是A.对话框必须依附于某个框架B.当框架最小化时,所有依附于它的窗口也会最小化C.框架是一个程序的主窗口,每个具有图形界面的程序都至少要有一个框架、D.内部框架也是顶级容器组件学生的答案: D标准答案: D该题分数:学生得分: 分15.Window是宣示屏上独立的本机窗口,它独立于其它容器,Window的两种形式是A.Frame和DialogB.Panel和Frame!C.Container和ComponentD.LayoutManager和Container学生的答案: A 标准答案: A 该题分数: 学生得分: 分二、填空题(共有题目5题,共计分){1.图形用户界面的设计中有事件处理模型处理事件,在该模型中主要包括事件源、事件对象和________学生的答案: 事件监听器标准答案: 事件监听器;该题分数:学生得分:2.Java程序中可以向容器添加组件,一个容器可以使用________方法将组件添加到该容器中。
学生的答案: add标准答案: add();该题分数:学生得分:3.在图形用户界面程序设计中,判断单选框的方法是________,获取文本框内容的方法是________。
学生的答案: isSelected()getText()标准答案: isSelected();getText();该题分数:学生得分:4.________…包括五个明显的区域:东、南、西、北、中。
学生的答案: BorderLayout布局标准答案: BorderLayout布局管理器;该题分数:学生得分:5.在组件中显示时所使用的字体可以用________方法来设置。
学生的答案: Font 类标准答案: setFont(); 该题分数: 学生得分: 三、问答题(共有题目1题,共计分)>1.简述使用Swing创建图形界面程序的步骤学生的答案:在主函数中创建窗体对象,在创建对象初始化时,创建组件,添加组件,添加完组件可以添加事件监听器,完成你要的图形化界面。
标准答案:①导入Swing包;②选择界面风格;③创建顶层容器;④创建基本组件;⑤创建中间级容器;⑥将基本组件添加到中间容器;⑦将中间级容器添加到顶层容器;⑧处理事件。
该题分数: 学生得分:*四、编程题(共有题目2题,共计分)1.编写一个程序,把六个按钮分别标识为’A’至’F’,并排列成一行显示出来。
学生的答案:/*题目:编写一个程序,把六个按钮分别标识为’A’至’F’,并排列成一行显示出来。
思路:先创建一个图形化界面即窗口,在初始化窗口类对象之前,在构造方法中创建6个按钮,按钮上显示A到F,但是要将其排成一列的话,可以使用FlowLayout布局,将窗口编写很窄,就可以达到只有一列的效果。
*/import .*;importimport .*;class ButtonText extends JFrame{Button b1,b2,b3,b4,b5,b6;ButtonText(){setTitle("这是做作业用的窗口");setBounds(300,200,200,340);setLayout(new FlowLayout());b1=new Button("A");b2=new Button("B");b3=new Button("C");b4=new Button("D");b5=new Button("E");b6=new Button("F");(new Dimension(180,40));(new Dimension(180,40));(new Dimension(180,40));(new Dimension(180,40));(new Dimension(180,40));(new Dimension(180,40));add(b1);add(b2);add(b3);add(b4);add(b5);add(b6); setDefaultCloseOperation(3);setVisible(true);}public static void main(String[] args){new ButtonText();}}标准答案:import .*;【public class A{public static void main(String args[]){String[] labels={“A”,”B”,”C”,”D”,”E”,”F”};Window win=new Frame();(new GridLayout(1,6);for (int i=0;i<;i++).(new Button(labels[i]);();(true);}}该题分数:学生得分:2.编写应用程序,有一个标题为“改变颜色”的窗口,窗口布局为null,在窗口中有三个按钮和一个文本框,三个按钮的标题分别是“红”、“绿”、和“蓝”,单击任一按钮,文本框的背景颜色更改为相应的颜色。
学生的答案:】/*题目:编写应用程序,有一个标题为“改变颜色”的窗口,窗口布局为null,在窗口中有三个按钮和一个文本框,三个按钮的标题分别是“红”、“绿”、和“蓝”,单击任一按钮,文本框的背景颜色更改为相应的颜色。
思路:这题关键是怎么实现按按钮就将文本框的颜色给设置,我可以设置一个监听器*/import .*;import .*;importimportclass Text2 extends JFrame{Button b1,b2,b3;JTextField t;Text2(){init();}public void init(){setTitle("改变颜色");setBounds(300,200,500,500);b1=new Button("红");b2=new Button("绿");b3=new Button("蓝");(new Dimension(50,50));(new Dimension(50,50));(new Dimension(50,50));;;;t=new JTextField();add(b1,;add(b2,;add(b3,;add(t,;setDefaultCloseOperation(3);event();setVisible(true);}public void event(){(new ActionListener(){public void actionPerformed(ActionEvent e) {;}});(new ActionListener(){public void actionPerformed(ActionEvent e) {;}});(new ActionListener(){public void actionPerformed(ActionEvent e) {;}});}public static void main(String[] args){Text2 l=new Text2();}}标准答案:import .*;import .*;import A extends JFrame{Button red=new Button("红");Button green=new Button("绿");¥Button blue=new Button("蓝");TextField text=new TextField();A(){super("改变颜色");setBounds(150,190,300,200);setLayout(null);(25,50,50,20);?add(red);(125,50,50,20);add(green);(225,50,50,20);add(blue);(25,100,250,30);add(text);(new ActionListener();{public void actionPerformed(ActionEvent e){;}});(new ActionListener(){public void actionPerformed(ActionEvent e){;}});(new ActionListener(){public void actionPerformed(ActionEvent e){;}});setDefaultCloseOperation(3);setVisible(true);}public static void main(String[] args){new A();}}该题分数: 学生得分:评语。