1. J开头的是Swing组件。
  2. AWT组件包括:Label,Checkbox,TextField
  3. 请简要说明AWT组件与Swing组件的区别:
    AWT组件是早期的JDK版本提供的窗口工具集,包含部分本地代码,在不同平台上运行的效果略有差异,也被称为“重量级”组件。
    Swing组件是较新的JDK版本提供的窗口工具集,功能比AWT更加强大,多数组件的名字以“J”开头。Swing组件不包含任何本地代码,在任何平台上的显示效果都是一致的,也被称为“轻量级组件”。
  4. Swing组件定义在jaxax.swing包中。
  5. Swing的四种顶层容器:JFrame, JApplet, JDialog, JWindow。
  6. 所有容器的父类是Container。
  7. JFrame:一个带有标题行和控制按钮的独立窗口,有时称为框架,创建应用程序时需要使用JFrame。
  8. 创建小应用程序时使用 JApplet。
  9. Frame被称为容器组件。
  10. Java有哪些方法可以将组件放到内容窗格中:
    Java有两种方法可以将组件放入内容窗格中。
    第一种是通过顶层容器的 getContentPane()方法获得默认的内容窗格,然后将组件添加到内容窗格中。
    第二种方法是创建一个新的内容窗格,将组件添加到新的内容窗格,然后用新的内容窗格取代顶层容器默认的内容窗格。
  11. JScrollPane是带有滚动条的面板。
  12. 什么是容器组件?容器组件应如何使用?
    容器组件是指可以包含其他组件的组件。
    容器分为顶层容器和一般用途容器,显示在屏幕上的所有组件都必须包含在某个容器中,有些容器可以嵌套,在这个嵌套层次的最外层,必须是一个顶层容器。
  13. 将三个按钮垂直排列的代码:
    1
    2
    3
    4
    5
    6
    7
    frame=new JFrame("Buttons");
    Container con=frame.getContentPane();
    con.add(btn1, BorderLayout.NORTH);
    con.add(btn2, BorderLayout.CENTER);
    con.add(btn3, BorderLayout.SOUTH);
    frame.pack();//调整窗口的大小,使其能够容纳所有组件的首选大小和布局
    frame.setVisible(true);
  14. Swing常用的四种按钮:JButton, JToggleButton, JCheckBox, JRadioButton。
  15. JMenu继承自JMenuItem,JMenuItem继承自AbstractButton,最终继承自JComponent。
  16. JButton继承自AbstractButton,AbstractButton继承自JComponent。
  17. JLabel直接继承自JComponent。
  18. JTextArea继承自JTextComponent,JTextComponent继承自JComponent。
  19. java.awt包中的类Graphics是所有图形处理的基础。
  20. 组合框上的用户事件可以通过ActionListenerItemListener处理。
  21. 如何处理 JComboBox上的用户事件?【背】
    JComboBox(组合框)上的用户事件既可以通过 ActionListener处理,又可以通过 ItemListener处理。
    用户输入项目后按键,对应的接口是 ActionListener。
    用户选定项目,对应的接口是 ItemListener。
    用户的一次选择操作会引发两个 ItemEvent事件,因此通常使用 ActionListener处理比较方便。
  22. 请说明按钮和按钮组的关系:【背】
    按钮可以添加到按钮组中,这时首先要创建一个按钮组,然后调用按钮组的add()方法将按钮添加进去。当多个按钮被添加到同一个按钮组后,如果用户选中一个按钮,那么其他按钮就会变为未选中状态,即同一个按钮组中只能有一个按钮处于被选中状态。
  23. 给label,button添加文字:
    1
    2
    3
    4
    5
    6
    7
    8
    //(this是JFrame)
    label1=new JLabel("aa");//新建label并添加文字
    btn=new JButton("bb");//新建button并添加文字
    btn.setText("bbb");//button修改文字
    btn.setToolTipText("hello");//btn修改hover title

    Container con=getContentPane();
    con.setLayout(new FlowLayout());//FlowLayout:按照组件添加的顺序,从左到右、从上到下排列组件
  24. FlowLayout的对其方式的可选值有:LEFT, CENTER, RIGHT。
  25. CardLayout特点:允许多个组件共用同一个显示空间,通过卡片的切换来显示不同的组件。
  26. BoxLayout特点:多个组件从上到下排列。
  27. GridLayout特点:容器被分成网格状。
  28. FlowLayout每行可以放1个组件。
  29. BorderLayout布局管理器是如何安排组件的?【背】
    BorderLayout提供了一种较为复杂的组件布局管理方案。每个由BorderLayout管理的容器被划分为5个区域, 分别代表容器的上部(North)、下部(South)、左部(West)、右部(East)和中部(Center),分别使用常量 BorderLayout.NORTH、BorderLayout.SOUTH、BorderLayout.WEST、BorderLayout.EAST和BorderLayout.CENTER来表示。在容器的每个区域,可以加入一个组件。
  30. 设置JPanel的布局:
    1
    panel.setLauout(new FlowLayout(FlowLayout.LEFT));
  31. 向容器添加组件:
    1
    c.add(checkBox,BorderLayout.EAST);
  32. 容器中组件的位置和大小/显示方式通常由布局管理器负责安排。
  33. MouseMotionListener接口主要用于处理鼠标的移动和拖拽事件。
    它包含两个方法:mouseMoved(MouseEvent e)用于处理鼠标移动事件,mouseDragged(MouseEvent e)用于处理鼠标拖动事件。
  34. MouseListener处理鼠标点击、鼠标释放、鼠标离开事件。
  35. 什么是事件侦听程序?【背】
    在Java中,为了接收并处理某类用户事件,组件必须注册相应的事件处理程序,这种事件处理程序称为事件侦听程序(Listener),也称为侦听器,它是实现了对应侦听程序接口的一个类。
  36. 对事件的响应称为事件处理
  37. 在JList上进行选择时,将引发ListSelectionEvent
  38. 考试常用方法:
    1
    2
    3
    4
    addItemListener(this)
    checkBox.isSelected()
    class MyPanel extends JPanel implements MonseListener
    mouseClicked(MouseEvent e)
  39. java.awt.event中,用来检测并对事件做出反应的模型所包括的三种对象:【背】
    源对象(1分)、监视器对象(1分)、事件对象(1分)
  40. 请写出Java语言中的事件处理机制:
    事件被直接送往产生这个事件的组件(1分), 组件需要注册一个或多个侦听程序(1分)。侦听程序的类中包含了事件处理程序(1分),用来接收和处理该事件(1分)
  41. KeyListener的作用:处理键盘事件
  42. 在Java的绘图区域中,坐标原点(0,0)通常位于左上角。
  43. 在Java中进行绘图操作时,当组件被显示出来时,需调用paint(Graphics g)方法。
  44. AWT的Font对象的作用是用类Font对象设置字型
  45. Graphics2D类,stoke属性控制线条的宽度,笔形样式,线段连接方式,短划线图案;paint属性控制填充效果。【背】
  46. 什么是轻量级组件?什么是重量级组件?在程序中同时使用轻量级组件和重量级组件时,会有什么显示效果?【背】
    不包含本地代码的组件成为轻量级组件。
    包含本地代码的组件称为重量级组件。
    当重量级组件与轻量级组件一同使用时,如果组件区域有重叠,则重量级组件总是显示在上面。
  47. Swing组件比AWT组件拥有更多的功能。
  48. JFrame是顶层容器,可指定窗口标题,Swing可以继承它
  49. Jpanel属于容器。
  50. JLabel上既可以有文本也可以有图标。
  51. setEnabled方法改变按钮的可用状态。
  52. Swing中的复选按钮:JCheckbox;单选按钮:JRadioButton;切换按钮:JToggleButton
  53. JPanel的默认布局管理器FlowLayout。
  54. 用户在程序界面所进行的操作是一个用户事件
  55. 要使得已注册的按钮对象暂时不响应事件,需要使用的方法是removeActionListener(ActionListener l)
  56. 在事件适配器类中实现了相应接口中全部的方法,只不过方法体都为空。
  57. 当要创建自定义图形时,需要由JPanel类派生一个新类,并重写父类的paintComponent()方法。
  58. 在Graphics类中,绘图模式主要有正常模式和异或模式2种。