在JAVA编程中,将鼠标放在按钮上以后,用鼠标单击按钮,将会发生鼠标事件和组件激活事件,就鼠标事件而言,将调用()个监听器方法。
A.1
B. 2
C. 3
D. 4
A.1
B. 2
C. 3
D. 4
第1题
第2题
import javax.swing.*;
import java.awt.*;
public class java3 extend Jbutton{
public java3(Icon icon,Icon pressed,Icon rollover){
this(icon);
setFocusPainted(false);
setRolloverEnabled(true);
setRolloverlcon(rollover);
setPressedIcon(pressed);
setBorderPainted(false);
setContentAreaFilled(false);
}
public static void main(String[]args){
java3 b1=new java3(
new ImageIcon("java3-redcube.gif"),
new ImageIcon("java3-redpaw.gif"),
new ImageIcon("java3-reddiamond.gif"));
java3 b2一new java3(
new ImageIcon("java3-bluecube.gif")。
new ImageIcon("java3-bluepaw.gif"),
new ImageIcon("java3-bluediamond.gif"));
JFrame. f=new JFrame();
f.setTitle("java3");
f.setDefauhCloseOperation(JFrame.EXIT_ON_
CLOSE);
c=f.getContentpane();
c.setLayout(new FlowLayout());
c.add(b1);
c.add(b2);
f.pack();
f.setVisible(true);
第3题
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class java2 extends Applet
{Button b[]=new Button[10];
int x,Y;
public void init()
{for(int i=0;i<;=9;i++)
{b[i]=new Button(""+i);
b[i].addKeyListener(this);
addCb[i]);
}
}
public void
{Button button=(Button)e.getSource();
x=button.getBounds().x;
y—button.getBounds().y;
if(e,getKeyCode()= =KeyEvent.VK_UP)
{y=y-2;
if(y<;=O)y=0;
button.setLocation(x,y);
}
else if(e.getKeyCode()= =KeyEvent.VK_
DOWN)
{y=y+2;
if(y>;=300)y=300;
button,.setLocation(X,y);
}
else if(e.getKeyCode()= =KeyEvent.VK_
LEFT)
{x=x-2;
if(x<;=0)x=0;
button.setLocation(x,y);
}
else if(e.getKeyCode()= =KeyEvent.VK_
RIGHT)
(x=X+2;
if(x>;=300)x=300;
button.setLoeation(X,y);
}
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
第4题
A.Swing包中的组件也是采用事件的授权得理模型来处理事件的
B.Swing包中组件产生的事件类型,也都带有一个J字母,如:Jmouse Event
C.Swing包中的组件也可以采用事件的传递处理机制
D.Swing包的组件所对应的事件适配器也是带有J字母的,如:Jmouse Adapter
第5题
Import java.awt.*
import java.awt.event.*;
import javax.swing.*;
class EventQueuePanel extends JPanel implements Ac-
tionListener
{EventQueuePanel()
{JButton button=new JButton("Draw line");
add(button);
button.addActionListener(this);
}
public void actionPerformed(ActionEvent evt)
(Graphics g=getGraphics();
P=getClick();
g.drawOval(P.x-2,P.Y-2,4,4);
Point q=getClick();
g.drawOval(q.x-2,q.y-2,4,4);
g.drawLine(P.X,P.Y,q.x,q.y);
g.dispose();
}
public Point getClick()
{EventQueue eq=Toolkit.getDefaultToolkit().
getSystemEventQueue();
while(true)
{try
{AWTEvent evt=eq.getNextEvent();
if(evt.getID()= =MouseEvent.MOUSE.
PRESSED)
{MouseEvent mevt=(MouseEvent)evt;
Point P= ();
Point top=getRootPane().getLocation();
P.X-=top.x;
P.Y-=top.Y;
return P;
}
}
catch(InterruptedException e)
{}
}
}
private int Y=60;
}
class EventQueueFrame. extends JFrame
{public EventQueueFrame()
{setTitle("java2");
setSize(300,200);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);
}
});
Container contentPane=getContentPane();
contentPane.add(new EventQueuePanel());
}
}
public class java2
{public static void main(String[]args)
{Frame. frame=new EventQueueFrame();
frame.show();
}
}
第6题
注意:请勿改动其他已有语句内容,仅在横线处填入适当语句。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Example2_8 extends Applet implements KeyListener
{
public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
Button button;
Button stopButton;
Label out;
int x,y;
public void _______ ()
{
button = new Button("移动");
button.addActionListener(new AddMoveListener(this));
stopButton = new Button("停止移动");
stopButton.addActionListener(new RemoveListener(this));
stopButton.setEnabled(false);
out = new nabel("按下按钮以后我可以随方向键移动");
add(button);
add(stopButton);
add (out);
}
public void start()
{
super, start ();
}
public void keyPressed(KeyEvent e)
{
x=out.getBounds().x;
y=out.getBounds().y;
if(e.getKeyCode()==KeyEvent.VK_UP)
{
y=y-2;
if(y<=0) y=0;
out. setLocation (x, y);
}
else if(e.getKeyCode()==KeyEvent.VK_DOWN)
{
y=y+2;
if (y>=300) y=300;
out. setLocation (x, y);
}
else if(e.getKeyCode()==KeyEvent.VK_LEFT)
{
x=x-2;
if(x<=0) x=0;
out. setLocation (x, y);
}
else if(e.getKeyCode()==KeyEvent.VK_RiGHT)
{
第7题
import java.awt.*;
import java.awt.event.*;
class CanvasWithPopup extends Canvas{
Popupmenu popup;
CanvasWithPopup(PopupMenu popup){
enableEvents(AWTEvent.MOUSE EVENT
MASK):
this.popup=popup;
}
void addPopup(){
add(popup);
}
void removePopup(){
remove(popup);
}
protected void processMouseEvent(MouseEvent
evt){
if(popup.getParent()!=null&;&;evt.isPop-
upTrigger()){
popup.show(evt.getComponent(),evt.getX(),
evt.getY());
}
super.processMouseEvent(evt);
}
}
public class java3 extends Frame. implements Item-
Listener,ActionListener{
Checkbox cb=new Checkbox("弹出菜单",
false);
CanvasWithPopup canvas;
java3(){
super("java3");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
add(cb,BorderLayout.NORTH);
cb.addhemListener(this);
PopupMenu popup=new PopupMenu("Button
Control"):
popup.add("iteml");
popup.add("item2");
popup.addActionListener(this);
canvas=new CanvasWithPopup(popup);
add(canvas,BorderLayout.CENTER);
setSize(100,200);
show();
}
第8题
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class java3 extends Applet implements ActionListener
{int x=-1,y=-1,rubberNote=0,clearNote=0;
Color C=new Color(255,0,O);
int con=3;
Button b_red,b_blue,b_green,b_clear,b_quit;
public void init()
{
addMouseMotionListener(this);
b_red=new Button("画红色图形");
b_blue=new Button("画蓝色图形");
b_green=new Button("画绿色图形");
b_quit=new Button("橡皮");
b_clear=new Button("清除");
add(b_red);
add(b_green);
add(b_blue);
add(b_quit);
add(b_clear);
b_red.addActionListener(this);
b_green.addActionListener(this);
b_blue.addActionListener(this);
b_quit.addActionListener(this);
b_dear.addActionListener(this);
}
public void paint()
(if(x!=-l&&y!=-l&rubberNote= =
0R&;clearNote= =0)
{g.setColor(c);
g.filloval(X,Y,con,con);
}
else if(rubberNote= =1&;&;clearNote= =O)
{g.clearRect(x,Y,10,10);
}
else if(clearNote= =1&;&;rubberNote= =O)
{g.clearRect(0,0,getSize().width,getSize().
height);
}
}
public void mouseDragged(MouseEvent e)
{x=(int)e.getX();y=(int)e.getY();repaint();
}
public void mouseMoved(MouseEvent e){)
public void update(Graphics g)
{paint(g);
}
public void actionPerformed(Event e)
{if(e.getSource()= =b-red)
{rubberNote=0;clearNote=0;c=new Color
(255,0,0);
}
else if(e.getSource()= =b_green)
{rubberNore=0;clearNote=0;C=new Color(0,
255,0);
}
else if(e.getSource()= =b_blue)
{rubberNote=0;clearNote=0;C=new Color(0,
0,255);
}
if(e.getSource()= =b—quit)
{rubberNote=1;clearNote=0;
}
if(e.getSource()= =b—clear)
{clearNote=1;rubberNote=0;repaint();
}
}
}
第9题
[说明]
本题实现用鼠标拖拽图片在Web页内移动的功能。将鼠标放在图片上,按下左键,移动鼠标便可带动图片一起移动。
[HTML文本]
<html>
<!—省略部他为HTML框-->
………
<style>
<!--. drag{position: relative; cursor: hand} //css程序,通过类选择符建立类,类的名称为drag
</style>
(1) //JavaScript区域开始标识
var m=false //声明风个变量
var z, x, y
function p() { //定义一个函数P(),判断鼠标是否已按下左键
if((2)&&m){
z.style.pixelLeft=a+event.clientX-x //定义图片左上角的位置
z.style.pixelTop=b+event.clientY-y
return false
}
}
function q(){ //定义一个函数q()。如果是Netscape浏览器;就返回。所以此效果在Netscape
if (!document. all)
retum
if(event, srcElement.className=="drag", ) //如果鼠标左键被按下,返回z, a, b, x, y的值
re=tree
z=event.srcElement
a=z.style.pixelLeft
b=z.style.pixelTop
x=event.clientX
y=event.clientY
(3) //当鼠标移动时,执行p()函数,当鼠标按下的时候,执行q函数,当鼠标
//抬起的时候,不执行任何函数
}
}
(4)
document.onmouseup=newfunction(" (5) ")
第10题
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!