自考JAVA语言程序设计(一)课后习题答案和源代码(第六章)_第1页
自考JAVA语言程序设计(一)课后习题答案和源代码(第六章)_第2页
自考JAVA语言程序设计(一)课后习题答案和源代码(第六章)_第3页
自考JAVA语言程序设计(一)课后习题答案和源代码(第六章)_第4页
自考JAVA语言程序设计(一)课后习题答案和源代码(第六章)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章6.1 设计一个面板,该面板中有四个运动项目选择框和一个文本区。当某个选择项目被选中时,在文本区中显示该选择项目。程序运行结果:源文件:Work6_1.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;/* * 6.1 设计一个面板,该面板中有四个运动项目选择框和一个文本区。 * 当某个选择项目被选中时,在文本区中显示该选择项目。 * author 黎明你好 */public class Work6_1 extends JFrameprivate static final long serialVersi

2、onUID = 1L;private MyPanel6_1 panel;/ 此面板public Work6_1()super(第六章,第一题);panel = new MyPanel6_1();this.add(panel);this.setBounds(100, 100, 400, 150);this.setVisible(true);this.validate();this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););public static v

3、oid main(String args)new Work6_1();面板类源文件:MyPanel6_1.java/* * 需要设计的面板类 */class MyPanel6_1 extends JPanel implements ItemListenerprivate static final long serialVersionUID = 1L;private JCheckBox box1, box2, box3, box4;private JTextArea textArea;public MyPanel6_1()textArea = new JTextArea(5, 10);box1

4、= new JCheckBox(足球);box2 = new JCheckBox(排球);box3 = new JCheckBox(篮球);box4 = new JCheckBox(台球);box1.addItemListener(this);box2.addItemListener(this);box3.addItemListener(this);box4.addItemListener(this);this.add(box1);this.add(box2);this.add(box3);this.add(box4);this.add(textArea);this.setBackground

5、(Color.cyan);public void itemStateChanged(ItemEvent e)JCheckBox box = (JCheckBox) e.getSource();if (box = box1 & box.isSelected()textArea.append(box1.getText() + n);else if (box = box2 & box.isSelected()textArea.append(box2.getText() + n);else if (box = box3 & box.isSelected()textArea.append(box3.ge

6、tText() + n);else if (box = box4 & box.isSelected()textArea.append(box4.getText() + n);6.2 设计一个面板,该面板中有四个运动项目单选框和一个文本框。当某个选择项目被选中时,在文本框中显示该选择项目。程序运行结果:源文件:Work6_2.javaimport javax.swing.*;import java.awt.event.*;/* * 设计一个面板,该面板中有四个运动项目单选框和一个文本框。 * 当某个选择项目被选中时,在文本框中显示该选择项目。 * author 黎明你好 */public cla

7、ss Work6_2 extends JFrameprivate static final long serialVersionUID = 1L;private MyPanel6_2 panel;public Work6_2()super(第六章,第二题);panel = new MyPanel6_2();this.add(panel);this.setBounds(100, 100, 400, 150);this.setVisible(true);this.validate();this.addWindowListener(new WindowAdapter()public void win

8、dowClosing(WindowEvent e)System.exit(0););public static void main(String args)new Work6_2();面板类源文件:MyPanel6_2.java/* * 需要设计的面板类 */class MyPanel6_2 extends JPanel implements ItemListenerprivate static final long serialVersionUID = 1L;private JCheckBox box1, box2, box3, box4;private ButtonGroup group;

9、private JTextField textField;public MyPanel6_2()textField = new JTextField(5);group = new ButtonGroup();box1 = new JCheckBox(足球);box2 = new JCheckBox(排球);box3 = new JCheckBox(篮球);box4 = new JCheckBox(台球);box1.addItemListener(this);box2.addItemListener(this);box3.addItemListener(this);box4.addItemLis

10、tener(this);group.add(box1);group.add(box2);group.add(box3);group.add(box4);this.add(box1);this.add(box2);this.add(box3);this.add(box4);this.add(textField);public void itemStateChanged(ItemEvent e)JCheckBox box = (JCheckBox) e.getSource();if (box = box1)textField.setText(box1.getText() + n);else if

11、(box = box2)textField.setText(box2.getText() + n);else if (box = box3)textField.setText(box3.getText() + n);else if (box = box4)textField.setText(box4.getText() + n);6.3 设计一个面板,该面板中有四个运动项目单选按钮和一个文本框。当某个选择项目被选中时,在文本框中显示该选择项目。程序运行结果:源文件:Work6_3.javaimport javax.swing.*;import java.awt.*;import java.aw

12、t.event.*;/* * 6.3 设计一个面板,该面板中有四个运动项目单选按钮和一个文本框。 * 当某个选择项目被选中时,在文本框中显示该选择项目。 * author 黎明你好 */public class Work6_3 extends JFrameprivate static final long serialVersionUID = 1L;private MyPanel6_3 panel;public Work6_3()super(第六章,第三题);panel = new MyPanel6_3();this.add(panel);this.setBounds(100, 100, 40

13、0, 150);this.setVisible(true);this.validate();this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););public static void main(String args)new Work6_3();面板类源文件:MyPanel6_3.java/* * 需要设计的面板类 */class MyPanel6_3 extends JPanel implements ItemListenerprivate stat

14、ic final long serialVersionUID = 1L;private JRadioButton box1, box2, box3, box4;private ButtonGroup group;private JTextField textField;public MyPanel6_3()textField = new JTextField(5);group = new ButtonGroup();box1 = new JRadioButton(足球);box2 = new JRadioButton(排球);box3 = new JRadioButton(篮球);box4 =

15、 new JRadioButton(台球);box1.addItemListener(this);box2.addItemListener(this);box3.addItemListener(this);box4.addItemListener(this);group.add(box1);group.add(box2);group.add(box3);group.add(box4);this.add(box1);this.add(box2);this.add(box3);this.add(box4);this.add(textField);this.setBackground(Color.c

16、yan);public void itemStateChanged(ItemEvent e)JRadioButton box = (JRadioButton) e.getSource();if (box = box1)textField.setText(box1.getText() + n);else if (box = box2)textField.setText(box2.getText() + n);else if (box = box3)textField.setText(box3.getText() + n);else if (box = box4)textField.setText

17、(box4.getText() + n);6.4 设计一个窗口,取默认布局BorderLayout布局。北面添加一个列表,有4门课程选项。中心添加一个文本区,当选择列表中的某门课程后,文本区显示相应课程的介绍;(JList没有addActionListener方法)程序运行结果:源文件:Work6_4.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;/* * 6.4 设计一个窗口,取默认布局BorderLayout布局。北面添加一个列表,列表有4门课程选项。 * 中心添加一个文本区,当选择列表中的某们课程后,

18、文本区显示相应课程介绍; * 当双击列表中的某一选项后,文本区就显示相应课程的开课时间。 * author 黎明你好 */public class Work6_4 extends JFrameprivate static final long serialVersionUID = 1L;private JList list;private JTextArea textArea;private String names = 大学英语, Java语言程序设计, 操作系统, 数据结构 ;private String introduce = 英语为本科一、二年级的最重要的基础课之一,为期一年,教学时间

19、15周,总共14学分。,Java先修课程为程序设计基础、网络基础、数据库基础、操作系统;为期办年。教学时间15周,总共4学分(上机1学分)。,操作系统讲述如何管理计算机系统资源和控制程序执行。为期办年,教学时间15周,总共5学分(上机1学分)。,数据结构是计算机学科的核心课程之一,是一门专业基础课。对于训练学生程序设计能力和编程水平有重要作用。为期办年,教学时间15周,总共5学分(上机学分) ;private String times = 9月1日, 9月2日, 9月30日, 9月12日 ;public Work6_4()super(第六章,第四题);textArea = new JTextA

20、rea(5, 10);list = new JList(names);list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);/ 单选模式/* 鼠标监控,单击事件,双击事件 */MouseListener ml = new MouseAdapter()public void mousePressed(MouseEvent e)int index = list.getSelectedIndex();if (index != -1)if (e.getClickCount() = 1)mySingleClick(index);else i

21、f (e.getClickCount() = 2)myDoubleClick(index);list.addMouseListener(ml);textArea.setBackground(Color.cyan);textArea.setLineWrap(true);this.add(list, BorderLayout.NORTH);this.add(textArea, BorderLayout.CENTER);this.setBounds(50, 50, 500, 300);this.setVisible(true);this.validate();this.addWindowListen

22、er(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););/* * 单击事件 * param selectValue - list被选择的单元索引 */public void mySingleClick(int selectValue)textArea.setText( + introduceselectValue);/* * 双击事件 * param selectValue - list被选择的单元索引 */public void myDoubleClick(int selectValue)t

23、extArea.setText(namesselectValue + ,开课时间为: + timesselectValue);public static void main(String args)new Work6_4();6.5 设计一个窗口,取默认布局BorderLayout布局,北面添加一个组合框,组合框有多门课程选项。中心添加一个文本框,当在组合框中选定一门课程后,文本框显示相应课程。程序运行结果:源文件:Work6_5.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;/* * 6.5 设计一个窗口

24、,取默认布局BorderLayout布局,北面添加一个组合框,组合框有多门课程选项。 * 中心添加一个文本框,当在组合框中选定一门课程后,文本框显示相应课程。 * author 黎明你好 */public class Work6_5 extends JFrame implements ItemListenerprivate static final long serialVersionUID = 1L;private String names = 数学, 物理, 语文, 化学 ;private JComboBox comboBox;private JTextField textField;pu

25、blic Work6_5()super(第六章,第五题);comboBox = new JComboBox(names);comboBox.addItemListener(this);textField = new JTextField(10);textField.setBackground(Color.cyan);add(comboBox, BorderLayout.NORTH);this.add(textField, BorderLayout.CENTER);this.setBounds(100, 100, 300, 200);this.setVisible(true);this.vali

26、date();this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););public void itemStateChanged(ItemEvent e)textField.setText(comboBox.getSelectedItem().toString();public static void main(String args)new Work6_5();6.6 设计一个JFrame窗口,窗口中心添加一个文本区。另添加4个菜单,每个菜单都有菜单项,

27、每个菜单项都有对应快捷键,选择某个菜单项时,窗口中心的文本区显示相应信息。程序运行结果:源文件:Work6_6.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;/* * 6.6 设计一个JFrame窗口,窗口中心添加一个文本区。 * 另添加4个菜单,每个菜单都有菜单项,每个菜单项都有对应快捷键, * 选择某个菜单项时,窗口中心的文本区显示相应信息。 * author 黎明你好 */public class Work6_6 extends JFrame implements ActionListenerpriv

28、ate static final long serialVersionUID = 1L;/* 文本区 */private JTextArea textArea;/* 菜单条 */private JMenuBar menubar;/* 菜单:文件、编辑、格式、帮助 */private JMenu file_menu, edit_menu, format_menu, help_menu, style_menu;/* 添加的文件菜单上的菜单项:新建、打开、保存、另存为、退出 */private JMenuItem item_newFile, item_openFile, item_saveFile,

29、 item_saveAsFile, item_Exit;/* 添加到编辑菜单的菜单项:剪切、复制、粘贴、删除;查找、查找下一个、替换;全选、时间/日期 */private JMenuItem item_cut, item_copy, item_paste, item_delete, item_find, item_findNext,item_replace, item_selectAll, item_insertNowTime;/* 添加到格式菜单的菜单项:自动换行,换行时候,是否让整个单词在一行,设置字体 */private JMenuItem item_setLineWrap, item_

30、setWrapStyleWord, item_setFont;/* 帮助菜单项:帮助主题,关于记事本 */private JMenuItem item_help, item_about;public Work6_6()super(第六章,第六题);textArea = new JTextArea();menubar = new JMenuBar();this.init_menu();this.setJMenuBar(menubar);this.add(textArea, BorderLayout.CENTER);this.addWindowListener(new WindowAdapter(

31、)public void windowClosing(WindowEvent e)System.exit(0););this.setBounds(100, 100, 500, 400);this.setVisible(true);this.validate();/* * 初始化菜单项菜单条 并添加快捷键,然后都添加到主菜单条上 */public void init_menu()menubar = new JMenuBar();file_menu = new JMenu(文件(F);edit_menu = new JMenu(编辑(E);format_menu = new JMenu(格式(O)

32、;help_menu = new JMenu(帮助(H);style_menu = new JMenu(风格(G);item_newFile = new JMenuItem(新建(N);item_openFile = new JMenuItem(打开(O).);item_saveFile = new JMenuItem(保存(S);item_saveAsFile = new JMenuItem(另存为(A).);item_Exit = new JMenuItem(退出(X);item_cut = new JMenuItem(剪切(T);item_copy = new JMenuItem(复制(

33、C);item_paste = new JMenuItem(粘贴(P);item_delete = new JMenuItem(删除(L);item_find = new JMenuItem(查找(F);item_findNext = new JMenuItem(查找下一个(N);item_replace = new JMenuItem(替换(R);item_selectAll = new JMenuItem(全选(A);item_insertNowTime = new JMenuItem(时间/日期(D);item_setLineWrap = new JCheckBoxMenuItem(自动

34、换行(W), false);item_setWrapStyleWord = new JCheckBoxMenuItem(单词为界(S), false);item_setFont = new JMenuItem(字体(F).);item_help = new JMenuItem(帮助主题(H);item_about = new JMenuItem(关于记事本(A);/ 设置当前模型上的键盘助记符file_menu.setMnemonic(KeyEvent.VK_F);file_menu.setDisplayedMnemonicIndex(3);edit_menu.setMnemonic(KeyE

35、vent.VK_E);edit_menu.setDisplayedMnemonicIndex(3);format_menu.setMnemonic(KeyEvent.VK_O);format_menu.setDisplayedMnemonicIndex(3);help_menu.setMnemonic(KeyEvent.VK_H);help_menu.setDisplayedMnemonicIndex(3);style_menu.setMnemonic(KeyEvent.VK_G);style_menu.setDisplayedMnemonicIndex(3);/ 设置各个菜单项上的键盘助记符

36、,和下划线item_newFile.setMnemonic(KeyEvent.VK_N);item_newFile.setDisplayedMnemonicIndex(3);item_openFile.setMnemonic(KeyEvent.VK_O);item_openFile.setDisplayedMnemonicIndex(3);item_saveFile.setMnemonic(KeyEvent.VK_S);item_saveFile.setDisplayedMnemonicIndex(3);item_saveAsFile.setMnemonic(KeyEvent.VK_A);it

37、em_saveAsFile.setDisplayedMnemonicIndex(4);item_Exit.setMnemonic(KeyEvent.VK_X);item_Exit.setDisplayedMnemonicIndex(3);item_cut.setMnemonic(KeyEvent.VK_T);item_cut.setDisplayedMnemonicIndex(3);item_copy.setMnemonic(KeyEvent.VK_C);item_copy.setDisplayedMnemonicIndex(3);item_paste.setMnemonic(KeyEvent

38、.VK_P);item_paste.setDisplayedMnemonicIndex(3);item_delete.setMnemonic(KeyEvent.VK_L);item_delete.setDisplayedMnemonicIndex(3);item_find.setMnemonic(KeyEvent.VK_F);item_find.setDisplayedMnemonicIndex(3);item_findNext.setMnemonic(KeyEvent.VK_N);item_findNext.setDisplayedMnemonicIndex(6);item_replace.

39、setMnemonic(KeyEvent.VK_H);item_replace.setDisplayedMnemonicIndex(3);item_selectAll.setMnemonic(KeyEvent.VK_A);item_selectAll.setDisplayedMnemonicIndex(3);item_insertNowTime.setMnemonic(KeyEvent.VK_D);item_insertNowTime.setDisplayedMnemonicIndex(6);item_setLineWrap.setMnemonic(KeyEvent.VK_W);item_se

40、tLineWrap.setDisplayedMnemonicIndex(5);item_setWrapStyleWord.setMnemonic(KeyEvent.VK_S);item_setWrapStyleWord.setDisplayedMnemonicIndex(5);item_setFont.setMnemonic(KeyEvent.VK_F);item_setFont.setDisplayedMnemonicIndex(3);item_help.setMnemonic(KeyEvent.VK_H);item_help.setDisplayedMnemonicIndex(5);ite

41、m_about.setMnemonic(KeyEvent.VK_A);item_about.setDisplayedMnemonicIndex(6);item_newFile.addActionListener(this);item_openFile.addActionListener(this);item_saveFile.addActionListener(this);item_saveAsFile.addActionListener(this);item_Exit.addActionListener(this);item_cut.addActionListener(this);item_

42、copy.addActionListener(this);item_paste.addActionListener(this);item_delete.addActionListener(this);item_find.addActionListener(this);item_findNext.addActionListener(this);item_replace.addActionListener(this);item_selectAll.addActionListener(this);item_insertNowTime.addActionListener(this);item_setL

43、ineWrap.addActionListener(this);item_setWrapStyleWord.addActionListener(this);item_setFont.addActionListener(this);item_help.addActionListener(this);item_about.addActionListener(this);/ 设置各个菜单项的快捷键item_newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_MASK);item_openFile.set

44、Accelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK);item_saveFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_MASK);item_cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_MASK);item_copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C

45、, KeyEvent.CTRL_MASK);item_paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.CTRL_MASK);item_delete.setAccelerator(KeyStroke.getKeyStroke(DELETE);item_find.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyEvent.CTRL_MASK);item_findNext.setAccelerator(KeyStroke.getKeyStroke(F

46、3);item_replace.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, KeyEvent.CTRL_MASK);/ 替换快捷键应该是ctrl+h,可是这个是JTextArea的默认快捷键是删除前一个字符,所以只能换一个了item_selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, KeyEvent.CTRL_MASK);item_insertNowTime.setAccelerator(KeyStroke.getKeyStroke(F5);/ 把各个菜单项

47、添加到相应的菜单中file_menu.add(item_newFile);file_menu.add(item_openFile);file_menu.add(item_saveFile);file_menu.add(item_saveAsFile);file_menu.addSeparator();file_menu.add(item_Exit);edit_menu.add(item_cut);edit_menu.add(item_copy);edit_menu.add(item_paste);edit_menu.add(item_delete);edit_menu.addSeparator

48、();edit_menu.add(item_find);edit_menu.add(item_findNext);edit_menu.add(item_replace);edit_menu.addSeparator();edit_menu.add(item_selectAll);edit_menu.add(item_insertNowTime);format_menu.add(item_setLineWrap);format_menu.add(item_setWrapStyleWord);format_menu.add(item_setFont);help_menu.add(item_help

49、);help_menu.add(item_about);menubar.add(file_menu);menubar.add(edit_menu);menubar.add(format_menu);menubar.add(help_menu);public void actionPerformed(ActionEvent e)textArea.setText(e.getActionCommand() + 被选中n);public static void main(String args)new Work6_6();6.7 设计一个窗口,窗口有两个依赖于它的对话框,一个对话框负责求园的面积;另一

50、个负责求三角形的面积。窗口中一个菜单负责打开这两个对话框。几个图形的数据通过对话框输入。程序运行结果:源文件:Work6_7.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;/* * 6.7 设计一个窗口,窗口有两个依赖于它的对话框,一个对话框负责求园的面积; * 另一个负责求三角形的面积。窗口中一个菜单负责打开这两个对话框。几个图形的数据通过对话框输入。 * author 黎明你好 */public class Work6_7 extends JFrame implements ActionListenerprivate static final long serialVersionUID = 1L;private JMenuBar bar;/ 菜单条private JMenu menu;/ 菜单private JMenuItem item1, item2;/ 菜单项private Circle circle;private Triangle triangle;public Work6_7()super(第六章,第七题);circle = new Circle(this, 计算圆形面积:, true);triangle = new Triangle(this, 计算三角形面积:, t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论