版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、 填空题1. 定义Bean的类称为JavaBean组件或Bean组件,简称为组件。2. JavaBean必须实现接口java.io.Serializable或java.io.Externalizable。3. 类Component是所有UI组件和容器的根类。4. 方法repaint定义在类Component中,调用repaint方法会引起paintComponent方法的调用。5. 对字符串进行操作时经常使用trim方法,该方法的作用是删除字符串两端的空格。6. Java提供了五个实现菜单的类:JMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem和JRadi
2、oButtonMenuItem。7. 使用方法addSeparator()可以在菜单中添加一条分割线。8. JCheckBoxMenuItm是JMenuItem的子类,它在JMenuItem上添加一个布尔状态,该状态为真时,该项前显示对号。9.设置按钮上文本的方法名是_setText_,获取按钮上文本的方法名是_getText_。9. 设置文本域上文本的方法名是setText_,获取文本域上文本的方法名是_getText_,设置文本域可编辑属性的方法名是_setEditable_。二、 单项选择题1. JLabel继承了Jcomponent的所有属性,并具有Jbutton类的许多属性,下列不属
3、于JLabel的属性的是( A )。A rows B text C icon D horizontalAlign2. javax.swing.ImageIcon是javax.swing.Icon的(B)。A 抽象类 B 子类 C 父类 D 基类三、 判断题1. TextField和TextArea是用来接受用户输入的组件,但是也可以由程序控制使用户不能在其中输入信息。2. 用hide()或setVisible(false)方法可以使组件隐藏不可见,但是一旦隐藏便不能恢复显示。3. 一个Button对象,可以调用方法getLabel()获取其上的标签,从而判断是哪个按钮;Label也使用相同的方
4、法。4. 使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组件,则需要使用多层容器。5.使用GridLayout布局策略的容器中,所有的组件都有相同大小。答案:1. 对2. 错,可以恢复3. 后半句错4. 对5. .对四、 编程题1. 请编写一个Application,其功能为:在窗口上摆放两个标签。构造第一个标签时,令其上面的文本信息为“我将参加Java程序设计考试。”,将第二个标签构造为空标签。程序将第一个标签的信息复制到第二个标签上,并增加信息“希望自己考取好成绩。”。要求第一个标签以红色为背景,绿色为前景;第二个标签以绿色为背景,蓝色为前景。(知识点考察:定义标
5、签,设置标签文本值和背景颜色)程序import java.awt.*;import javax.swing.*;class MyFrame extends JFrameJLabel p1=new JLabel("我将参加Java程序设计考试。");JLabel p2=new JLabel(" ");public MyFrame()this.getContentPane().setLayout(new FlowLayout();this.getContentPane().add(p1); this.getContentPane().add(p2); p2.
6、setText(p1.getText( )+ "希望自己考取好成绩。");p1.setBackground(Color. red);p1.setForeground(Color.green);p2.setBackground(Color. green);p2.setForeground(Color.blue);public static void main(String args)MyFrame myFrame = new MyFrame();myFrame.setTitle("Show");myFrame.setDefaultCloseOperatio
7、n(JFrame.EXIT_ON_CLOSE);myFrame.setSize(250,250);myFrame.setVisible(true);2. 请编写一个Application实现如下功能:定义一个用于给出提示信息的标签和两个文本框,其中,一个文本框用于获取用户给出的一个整数,求该数的平方后将计算结果置在另一个文本框中输出。(知识点考察:定义标签和文本框,数值型数据与字符串西相互转换)程序import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyFrame extends JFrame impleme
8、nts ActionListener JLabel p; JTextField in,out; int x; String str=" "public MyFrame() p=new JLabel("请输入一个整数: "); in=new JTextField(18); out=new JTextField(18); this.getContentPane().setLayout(new FlowLayout(); this.getContentPane().add(p); this.getContentPane().add(in); this.getC
9、ontentPane().add(out); in.addActionListener(this); public void actionPerformed(ActionEvent evt) x=Integer.parseInt(in.getText(); str=x+" 的平方为: "+(long)(x*x); out.setText(str); public static void main(String args)MyFrame myFrame = new MyFrame();myFrame.setTitle("Show");myFrame.set
10、DefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myFrame.setSize(250,250);myFrame.setVisible(true);3. 请编写一个Application实现如下功能:定义三个文本框。其中,第一个文本框上面的文本信息为“请输入口令:”;第二个文本框为口令输入域;第三个文本框上的信息由程序设置:若口令(假设口令为字符串”MyKey”)正确,则设置为“通过!”,否则设置为“口令错!”;。(知识点考察:定义文本框,设置和获取文本框的文本值)程序import java.awt.*;import javax.swing.*;impo
11、rt java.awt.event.*;class MyFrame extends JFrame implements ActionListener JTextField p; JTextField in; JTextField out; String s=""public MyFrame() p=new JTextField ("请输入口令: "); in=new JTextField(18); out=new JTextField(18); this.getContentPane().setLayout(new FlowLayout(); this.
12、getContentPane().add(p); this.getContentPane().add(in); this.getContentPane().add(out); in.addActionListener(this); public void actionPerformed(ActionEvent evt) s=in.getText(); if(s.equals("MyKey") out.setText("通过!"); else out.setText("口令错!"); public static void main(St
13、ring args)MyFrame myFrame = new MyFrame();myFrame.setTitle("Show");myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myFrame.setSize(250,250);myFrame.setVisible(true);4. 编写Application, 其中包含两个按钮b1、b2,初始时b1的前景为兰色,b2的前景为红色,它们的标签分别为”兰按钮”、”红按钮”。无论哪个按钮被点击,都将该按钮上的标记改为“已按过”,并使该按钮变灰。(知识点考察:定义并
14、设置按钮的前景色和背景色,点击按钮触发事件处理过程)程序import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyFrame extends JFrame implements ActionListener int i;JButton b1,b2;public MyFrame()b1=new JButton("兰按钮");b2=new JButton("红按钮");this.getContentPane().setLayout(new FlowLayout();this.
15、getContentPane().add(b1);b1.setForeground(Color.blue);this.getContentPane().add(b2); b2.setForeground(Color.red);b1.addActionListener(this);b2.addActionListener(this); public void actionPerformed(ActionEvent e) if(e.getSource()=b1) b1.setText("已按过"); b1.setForeground(Color.gray); if(e.getS
16、ource()=b2)b2.setText("已按过"); b2.setForeground(Color.gray); public static void main(String args)MyFrame myFrame = new MyFrame();myFrame.setTitle("Show");myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myFrame.setSize(250,250);myFrame.setVisible(true);5. 请编写一个Applicaion,其功能
17、为:在其窗口中摆放三个单选按钮,令它们的标签分别为“选项1”、“选项2”、“选项3”, 初始时,所有按钮均可见;以后,如果某个单选按钮被选中了,就通过消息对话框显示它被选中的信息(如,若点击了第二个单选按钮,则显示“你选择了”选项2”), 并使该单选按钮自身不可见,而使其它单选按钮变为可见的。(知识点考察:定义单选按钮和消息提示框,点击按钮触发事件处理过程,修改提示框的visible属性)程序import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyFrame extends JFrame implements
18、 ActionListener ButtonGroup optGroup;JRadioButton opt1,opt2,opt3;String s=""boolean b=false;public MyFrame()optGroup=new ButtonGroup( );opt1=new JRadioButton("选项1");opt2=new JRadioButton("选项2");opt3=new JRadioButton("选项3");optGroup.add(opt1);optGroup.add(opt2)
19、;optGroup.add(opt3);this.getContentPane().setLayout(new FlowLayout();this.getContentPane().add(opt1);this.getContentPane().add(opt2);this.getContentPane().add(opt3);opt1.addActionListener(this);opt2.addActionListener(this);opt3.addActionListener(this); public void actionPerformed(ActionEvent e)if(e.
20、getSource()=opt1) JOptionPane.showMessageDialog(this,"你选择了选项1");opt1.setVisible(false);opt2.setVisible(true); opt3.setVisible(true); if(e.getSource()=opt2) JOptionPane.showMessageDialog(this,"你选择了选项2");opt1.setVisible(true);opt2.setVisible(false); opt3.setVisible(true); if(e.getS
21、ource()=opt3) JOptionPane.showMessageDialog(this,"你选择了选项3");opt1.setVisible(true);opt2.setVisible(true); opt3.setVisible(false); public static void main(String args)MyFrame myFrame = new MyFrame();myFrame.setTitle("Show");myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myF
22、rame.setSize(250,250);myFrame.setVisible(true);7. 请编写一个Applet,在其窗口中摆放两复选按钮框,通过一个文本域显示它们被选中(那个被选中、或两个均被选中、或两个均未选中)的信息。(知识点考察:定义复选按钮,点击按钮触发事件处理过程)程序import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyFrame extends JFrame implements ItemListener private JTextField t;private JCheckBox
23、 opt1,opt2;public MyFrame()t=new JTextField(20); this.getContentPane().setLayout(new FlowLayout();this.getContentPane().add(t);opt1=new JCheckBox("选项1"); this.getContentPane().add(opt1); opt1.addItemListener(this); opt2=new JCheckBox("选项2"); this.getContentPane().add(opt2); opt2.
24、addItemListener(this); public void itemStateChanged(ItemEvent e)String s=""if(opt1.isSelected() s="选择了选项1" if(opt2.isSelected() s=s+"选择了选项2" t.setText(s); public static void main(String args)MyFrame myFrame = new MyFrame();myFrame.setTitle("Show");myFrame.setD
25、efaultCloseOperation(JFrame.EXIT_ON_CLOSE);myFrame.setSize(250,250);myFrame.setVisible(true);8. 程序在画板中显示一条信息,并利用两个按钮up和down上下移动该信息。程序输出结果如下图所示。(知识点考察:点击按钮触发事件处理过程,注册监听器)答案:import java.awt.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import javax.swing.*;public class Butto
26、nDemo extends JFrame implements ActionListener / Declare a panel for displaying message private MessagePanel messagePanel; / Declare two buttons to move the message left and right private JButton jbtUp, jbtDown; / Main method public static void main(String args) ButtonDemo frame = new ButtonDemo();
27、/ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); public ButtonDemo() setTitle("Button Demo"); / Create a MessagePanel instance and set colors messagePanel = new MessagePanel("Welcome to Java"); messagePanel.setBackground(Color.yellow);
28、 / Create Panel jpButtons to hold two Buttons "<=" and "right =>" JPanel jpButtons = new JPanel(); jpButtons.setLayout(new FlowLayout(); jpButtons.add(jbtUp = new JButton(); jpButtons.add(jbtDown = new JButton(); / Set button text jbtUp.setText("Up"); jbtDown.setT
29、ext("Down"); / Set keyboard mnemonics jbtUp.setMnemonic('U'); jbtDown.setMnemonic('D'); / Set icons /jbtUp.setIcon(new ImageIcon("images/left.gif"); /jbtDown.setIcon(new ImageIcon("images/right.gif"); / Set toolTipText on the "Up" and "Dow
30、n" buttons jbtUp.setToolTipText("Move message to Up"); jbtDown.setToolTipText("Move message to Down"); / Place panels in the frame getContentPane().setLayout(new BorderLayout(); getContentPane().add(messagePanel, BorderLayout.CENTER); getContentPane().add(jpButtons, BorderLa
31、yout.SOUTH); / Register listeners with the buttons jbtUp.addActionListener(this); jbtDown.addActionListener(this); / Handle button events public void actionPerformed(ActionEvent e) if (e.getSource() = jbtUp) up(); else if (e.getSource() = jbtDown) down(); / Move the message in the panel left private
32、 void up() int y = messagePanel.getYCoordinate(); if (y > 10) / Shift the message to the left messagePanel.setYCoordinate(y-10); messagePanel.repaint(); / Move the message in the panel right private void down() int y = messagePanel.getYCoordinate(); if (y < getSize().width - 120) / Shift the m
33、essage to the right messagePanel.setYCoordinate(y+10); messagePanel.repaint(); 9 .使用文本区和滚动条技术相结合显示一段字符串,程序输出结果如下图所示。(知识点考察:定义文本区,设置滚动条)答案:import java.awt.*;import javax.swing.*;public class TextAreaDemo extends JFrame private DescriptionPanel descriptionPanel = new DescriptionPanel(); public static
34、void main(String args) TextAreaDemo frame = new TextAreaDemo(); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("Text Area Demo"); frame.setVisible(true); public TextAreaDemo() String description = "Task scheduling is of great significance to "+
35、 "shorten performing time and minimize the cost for computational" + "Grid. A grid task schedule algorithm is presented in this paper, "+ "which is based on a constraint satisfaction neural network. The "+ "constraint satisfaction means to remove the violations for
36、 sequence"+ " and resource constraints during scheduling subtasks for grid "+ "environment. The data-transferring costs among subtasks are also"+ " considered in our task scheduling. The simulation in this paper"+ " has shown that the task schedule algorithm i
37、s efficient with respect"+ " to the quality of solutions and the solving speed." ; descriptionPanel.setTextDescription(description); getContentPane().setLayout(new BorderLayout(); getContentPane().add(descriptionPanel, BorderLayout.CENTER); class DescriptionPanel extends JPanel privat
38、e JTextArea jtaTextDescription; public DescriptionPanel() JScrollPane scrollPane = new JScrollPane (jtaTextDescription = new JTextArea(); jtaTextDescription.setFont(new Font("Serif", Font.PLAIN, 14); jtaTextDescription.setLineWrap(true); jtaTextDescription.setWrapStyleWord(true); scrollPan
39、e.setPreferredSize(new Dimension(200, 100); setLayout(new BorderLayout(); add(scrollPane, BorderLayout.CENTER); public void setTextDescription(String text) jtaTextDescription.setText(text); 10. 编写一个程序,包含4个button,各代表正方形,矩形,圆和椭圆,如下图所示。(知识点考察:按钮触发事件过程,绘制正方形、矩形、圆和椭圆)答案:import java.awt.*;import java.awt.
40、event.*;import javax.swing.*;public class TextFieldDemo extends JFrame implements ActionListener private JButton jbtSquare,jbtRectangle,jbtCircle,jbtOvel; / Declare "Add" button FigurePanel p1 = new FigurePanel(1); public static void main(String args) TextFieldDemo frame = new TextFieldDem
41、o(); frame.setSize(400,300); frame.setVisible(true); public TextFieldDemo() setTitle("TextFieldDemo"); setBackground(Color.yellow); setForeground(Color.black); JPanel p2 = new JPanel(); p2.setLayout(new FlowLayout(); p2.add(jbtSquare = new JButton("Square"); p2.add(jbtRectangle =
42、 new JButton("Rectangle"); p2.add(jbtCircle = new JButton("Circle"); p2.add(jbtOvel = new JButton("Ovel"); getContentPane().setLayout(new BorderLayout(); getContentPane().add(p1, BorderLayout.CENTER); getContentPane().add(p2, BorderLayout.SOUTH); jbtSquare.addActionList
43、ener(this); jbtRectangle.addActionListener(this); jbtCircle.addActionListener(this); jbtOvel.addActionListener(this); public void actionPerformed(ActionEvent e) if (e.getSource() = jbtSquare) p1.setFigure(1); p1.repaint(); if (e.getSource() = jbtRectangle) p1.setFigure(2); p1.repaint(); if (e.getSou
44、rce() = jbtCircle) p1.setFigure(3); p1.repaint(); if (e.getSource() = jbtOvel) p1.setFigure(4); p1.repaint(); class FigurePanel extends JPanel final static int SQUARE = 1; final static int RECTANGLE = 2; final static int CIRCLE = 3; final static int OVAL = 4; private int figureType = 1; / Constructi
45、ng a figure panel public FigurePanel(int figureType) this.figureType = figureType; public void setFigure(int figureType) this.figureType = figureType; / Drawing a figure on the panel public void paintComponent(Graphics g) super.paintComponent(g); / Get the appropriate size for the figure int width =
46、 getSize().width; int height = getSize().height; int side = (int)(0.80*Math.min(width, height); switch (figureType) case 1: g.drawRect(width-side)/2, (height-side)/2, side, side); break; case 2: g.drawRect(int)(0.1*width), (int)(0.1*height), (int)(0.8*width), (int)(0.8*height); break; case 3: g.draw
47、Oval(width-side)/2, (height-side)/2, side, side); break; case 4: g.drawOval(int)(0.1*width), (int)(0.1*height), (int)(0.8*width), (int)(0.8*height); break; 11请编程实现本界面:同时,利用事件处理机制实现功能:当点击图中的下拉列表框时,将会在下面的文本框中显示当前选项。(知识点考察:定制下拉列表框,点击下拉列表触发事件发生)答案:import java.awt.*;import javax.swing.*;import java.awt.e
48、vent.*;class ShowChoose extends JFrame implements ItemListenerJComboBox jcb;JTextField jtf;JLabel l1,l2;ShowChoose()l1=new JLabel("请选择您的学校:");l2=new JLabel("您的选择是:");jtf=new JTextField(10);String school="清华大学","北京大学","大连理工","东软信息学院"jcb=new
49、JComboBox(school);getContentPane().setLayout(new FlowLayout();getContentPane().add(l1);getContentPane().add(jcb);getContentPane().add(l2);getContentPane().add(jtf);jcb.addItemListener(this);setSize(300,200);setVisible(true);public void itemStateChanged(ItemEvent e)jtf.setText(String)(jcb.getSelected
50、Item();public static void main(String args)ShowChoose sc=new ShowChoose();12下图中的框架采用BorderLayout布局,中间放置一个面板,南面放置一个按钮,当点击按钮时,面板的背景色随机变换,请编程实现该程序。(知识点考察:BorderLayout布局管理器,按钮触发事件处理器,面板背景色的设置)答案:import java.awt.*;import javax.swing.*;import java.awt.event.*;class ChangeColor extends JFrame implements Ac
51、tionListenerJButton jbtChange;JPanel p;ChangeColor()jbtChange=new JButton("改变颜色");p=new JPanel();getContentPane().add(p);getContentPane().add(jbtChange,BorderLayout.SOUTH);setSize(150,200);setVisible(true);jbtChange.addActionListener(this);public void actionPerformed(ActionEvent e)p.setBackground(new Color(int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256);public static void main(String args)ChangeColor c=new ChangeColor();13请编程实现一个乘法器,两个操作数和计算结果用文本框表示,当用户在操作数文本框中输入整型数字后,点击“”按钮就能够在结果文本框中看到乘法运算的结果。如下图所示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度智能设备性能测试加工合同2篇
- 二零二五年度购物中心户外广告位广告投放服务合同3篇
- 个人借款合同样本(2024版)3篇
- 2024版担保合同与反担保合同
- 二零二五年度按摩行业市场调研与咨询服务协议2篇
- 家教中音乐教育的多元化教学方法
- 心理咨询在学生心理健康中的重要性
- 安全用电电路路径设计与实施准则
- 二零二五年度道路安全作业合同3篇
- 二零二五年度车库使用权转让及产权变更合同范本9篇
- 河南省安阳市八年级下学期期末测试英语试题(原卷版)
- 人教版六年级语文上册期末考试卷(完整版)
- 美的稳健增长法阅读札记
- DB11∕501-2017 大气污染物综合排放标准
- 四川省住宅设计标准
- 建筑幕墙物理性能分级
- 河南省2024年道法中考热点备考重难专题:发展航天事业建设航天强国(课件)
- 临床诊疗规范与操作指南制度
- YB-T6115-2023《焦炉煤气脱硫废液干法制酸技术规范》
- 新员工入职培训测试题附有答案
- Q-GDW 738-2012 配电网规划设计技术导则及编制说明
评论
0/150
提交评论