本题的功能是监听鼠标左右键的单击,以及面板中滚动条的添加。在窗口的画板中单击鼠标左键

题型:问答题

问题:

本题的功能是监听鼠标左右键的单击,以及面板中滚动条的添加。在窗口的画板中单击鼠标左键,在单击的位置绘制一个圆,当绘制的圆大于画板的大小时,画板就添加滚动条,在画板中单击鼠标右键,则清除画板中的所有图形。
import javax.swing.*;
import javax.swing.event.MouseInputAdapter;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class java3 extends JPanel
private Dimension size;
private Vector objects;
private final Color colors[]=
Color.red,Color.blue,Color.green,Color.orange,
Color.cyan,Color.magenta,Color.darkGray,Color.yellow;
private final int color_n=colors.length;
JPanel drawingArea;
public java3()
setOpaque(true);
size=new Dimension(0,0);
objects=new Vector();
JLabel instructionsLeft=new JLabel("单击鼠标左键画圆.");
JLabel instructionsRight=new JLabel("单击鼠标右键清空画板.");
JPanel instructionPanel=new JPanel(new GridLayout(0,1));
instructionPanel.add(instructionsLeft);
instructionPanel.add(instructionsRight);
drawingArea=new JPanel()
protected void paintComponent(Graphics g)
super.paintComponent(g);
Rectangle rect;
for(int i=0;i<objects.size();i++)
rect=(Rectangle)objects.elementAt(i);
g.setColor(colors[(i%color_n)]);
g.fillOval(rect.x,rect.y,rect.width,rect.height);


;
drawingArea.setBackground(Color.white);
drawingArea.addMouseListener(new MouseListener());
JScrollPane scroller=new JScrollPane(drawingArea);
scroller.setPreferredSize(new Dimension(200,200));
setLayout(new BorderLayout());
add(instructionPanel,BorderLayout.NORTH);
add(scroller,BorderLayout.CENTER);

class MyMouseListener extends mouseInputAdapter
final int W=100;
final int H=100;
public void mouseReleased(MouseEvent e)
boolean changed=false;
if(SwingUtilities.isRightMouseButton(e))
objects.removeAllElements();
size.width=0;
size.height=0;
changed=true;
else
int x-e.getX()-W/2;
int y=e.getY()-H/2;
if(x<0)x=0;
if(Y<0)y=0;
Rectangle rect=new Rectangle(x,y,W,H);
objects.addElement(rect);
drawingArea.scrollRectToVisible(rect);
int this_width=(x+W+2);
if(this width>size.width)
size.width=this_width;changed=true;
int this_height=(y+H+2);
if(this_height>size.height)
size.height=this_height;changed=true;

if(changed)
drawingArea.setPreferredSize(size);
drawingArea.revalidate();

drawingArea.paint();


public static void main(String args[])
JFrame frame=new JFrame("java3");
frame.addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent e)System.exit(0);
);
frame.setContentPane(new java3());
frame.pack();
frame.setVisible(true);

考点:计算机等级考试JAVA二级JAVA机试
题型:问答题

照相机、投影仪、放大镜都是利用                成像,其中照相机成的                像;投影仪成的             像;放大镜成的               像。

题型:问答题

染色与聚酯短纤混纺棉机织平布

题型:问答题

煎膏剂采用何种浸提方法制备?()

A.煎煮法

B.渗漉法

C.浸渍法

D.回流法

题型:问答题

党和国家领导人多次强调,我国必须坚持人民民主专政。这是因为[ ]

①人民民主专政是民主与专政的统一

②人民民主专政的本质是人民当家作主

③人民民主专政作为四项基本原则之一,是我国的立国之本,已被写入我国宪法

④坚持人民民主专政是社会主义现代化建设的政治保证

A、①②

B、①④

C、③④

D、②③

题型:问答题

良性前列腺增生症的临床症状下列哪项是错误的()

A.夜尿次数增多、小便点滴而出

B.尿频、尿急、尿痛

C.慢性尿潴留

D.尿失禁

E.血尿

更多题库