[试题]

本题的功能是定义自已的组件类。窗口中排布着12个按钮,鼠标移动按钮时,按钮背景颜色改变,用鼠标单击 按钮时,后台将显示该按钮对应的字符。 import java.awt.*; import java.awt.event.*; import java.util.*; class java3 extends Frame{ String keys="l23456789*0"; java3{ super("java3"); addWindowListener(new WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(O); } }); setLayout(new GridLayout(4,3,6,6)); for(int i=0;i<keyslength;i++)){ KeyButton kb=new KeyButton(keys.charAt (i)); kb.addkeyListener(this); kb.setBackground(Color.pink); kb.setForeground(Color.black); add(kb); } setSize(200,200); show; } class KeyEventHandler extends KeyAdapter{ public void keyTyPed(KeyEvent evt){ System.out.println(evt.getChar); } } public static void main(String[]args){ newjava3; } } class KeyButton extends Component{ KeyListener keyListener; boolean highlighted; char key; KeyButton(char k){ this.key=k; addMouseListener(new MouseEventHandler): } public void paint(Graphics g){ int W=getSize.width; int h=getSize.height; String s=""+key; FontMetrics fm=g.getFontMetrics; if(highlighted){ g.setColor(getBackground); g.fillRoundRect(0,0,w-1,h-1,10,10); } g.setColor(getForeground); g.drawRoundRect(0,0,w-1,h-1,10,10); g.drawString(s,(w-fm.stringWidth(s))/2, (h-fm.getHeight)/2+fm.getAscent); } class MouseEventHandler extends MouseAdapter{ public void mousePressed(MouseEvent evt){ if(keyListener!=null){ keyListener.keyTyped( new KeyEvent(KeyButton.this,KeyEvent.KEY_ TYPED, System.currentTimeMillis, 0,KeyEvent.VK_UNDEFINED,key)); } } public void mouseEntered(MouseEvent evt){ highlighted=true; repaint; } public void mouseExited(MouseEvent evt){ highlighted=false; repaint; } } public synchronized void addKeyListerner(KeyLis- tener l){ keyListener=AWTEventMuhieaster.add(key- Listener,1); } public synchronized void removeKeyListener(Key- Listener l){ keyListener=AWTEventMuhicaster.remove (keyListener,1); } }

参考答案与解析:

相关试题

用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位置后释放鼠标按钮即可。()

[判断题]用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位置后释放鼠标按钮即可。()A.对B.错

  • 查看答案
  • 用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位置后释放鼠标按钮即可。()

    [判断题]用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位置后释放鼠标按钮即可。()A.对B.错

  • 查看答案
  • 用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位置后释放鼠标按钮即可。()

    [判断题]用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位置后释放鼠标按钮即可。()A.对B.错

  • 查看答案
  • 用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位

    [判断题] 用鼠标移动窗口,只需在窗口中按住鼠标左按钮不放,拖曳移动鼠标,使窗口移动到预定位置后释放鼠标按钮即可。A . 正确B . 错误

  • 查看答案
  • 本题的功能是通过鼠标确定两个点,然后画两点间的直线。窗口中有£­个按钮“Draw

    [主观题]本题的功能是通过鼠标确定两个点,然后画两点间的直线。窗口中有-个按钮“Draw line”,单击该按钮后,它就处于按下状态,然后用鼠标在窗口中单击-下,在单击的地方就会出现-个坐标圆点,用鼠标在另外-个地方单击-下又会出现另外-个圆点,并且此时在两个坐标圆点间画出-条直线,且“Draw line”处于可用状态,再单击这个按钮就可以画另外-条直线。

  • 查看答案
  • 用户将鼠标移动到按钮之上时,按钮显示按钮的Up帧 ( )

    [主观题]用户将鼠标移动到按钮之上时,按钮显示按钮的Up帧 ( )此题为判断题(对,错)。

  • 查看答案
  • Windows XP窗口中的工具按钮的功能( )。

    [单选题]Windows XP窗口中的工具按钮的功能( )。A.都可以在菜单中实现B.其中一部分可以在菜单中实现C.都不能通过菜单实现D.比菜单能够实现的功能多

  • 查看答案
  • 单击WORD窗口中的最大化按钮后,该按钮将变成()按钮。

    [单选题]单击WORD窗口中的最大化按钮后,该按钮将变成()按钮。A .最小化B .保持不变C .还原D .不变

  • 查看答案
  • 本题的功能是展示4种不同的对话框。窗口中有4个按钮:“消息”、“输入”、“确定”

    [试题]本题的功能是展示4种不同的对话框。窗口中有4个按钮:“消息”、“输入”、“确定”和“选择”,单击任意-个按钮。就能弹出,个对应的对话框。其中,消息对话框只有-个提示信息和-个“确定”按钮,输入对话框有-个供输人的文本框及“确定”和“撤销”两个按钮;确定对话框中有-个提示信息和三个按钮“是”、“否”和“撤销”;而选择对话框中有-个提示信息和两个按钮“确定”和“取消”。

  • 查看答案
  • 本题的功能是监听对于颜色的复制和粘贴。程序窗口中,有£­个颜色设置框和两个按钮,

    [试题]本题的功能是监听对于颜色的复制和粘贴。程序窗口中,有-个颜色设置框和两个按钮,名为“复制”和“粘贴”,在颜色设置框中设置颜色后,下面的预览面板将显示选中的颜色,单击“复制”按钮后,将设置的颜色复制到系统的剪贴板上,然后继续选择其他颜色,当单击按钮“粘贴”后预览面板的颜色将设置为刚才复制的颜色。

  • 查看答案