mycetophylax можешь посмотреть пожайлуста код, а то ошибка какая-то(если не трудно):
run:
Exception in thread "main" java.lang.UnsupportedOperationException: Not yet implemented
at javaapplication2.Scribble.enableEvent(MenuScribble.java:124)
at javaapplication2.Scribble.<init>(MenuScribble.java:87)
at javaapplication2.MenuScribble.<init>(MenuScribble.java:11)
at javaapplication2.MenuScribble.main(MenuScribble.java:76)
Java Result: 1
package javaapplication2;
import java.awt.*;
import java.awt.event.*;
public class MenuScribble extends Frame {
public MenuScribble (String s) {
super(s);
ScrollPane pane = new ScrollPane();
pane.setSize(300, 300);
add(pane, BorderLayout.CENTER);
Scribble scr = new Scribble(this, 500, 500);
pane.add(scr);
MenuBar mb = new MenuBar();
setMenuBar(mb);
Menu f = new Menu("Fail");
Menu v = new Menu("Wid");
mb.add(v); mb.add(f);
MenuItem open = new MenuItem("Open...", new MenuShortcut(KeyEvent.VK_0));
MenuItem save = new MenuItem("Save", new MenuShortcut(KeyEvent.VK_S));
MenuItem exit = new MenuItem("Exit", new MenuShortcut(KeyEvent.VK_Q));
f.add(open); f.add(save); f.add(exit);
f.addSeparator();
open.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
FileDialog fd = new FileDialog(new Frame(), "Download", FileDialog.LOAD);
fd.setVisible(true);
} } );
save.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
FileDialog fd = new FileDialog(new Frame(),"Save", FileDialog.SAVE);
fd.setVisible(true);
}
});
exit.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
System.exit(0);
}
} );
Menu c = Menu ("Color");
MenuItem clear = new MenuItem("Clear", new MenuShortcut(KeyEvent.VK_D));
v.add(c); v.add(clear);
MenuItem red = new MenuItem("red");
MenuItem green = new MenuItem("green");
MenuItem blue = new MenuItem("blue");
MenuItem black = new MenuItem("black");
c.add(red);c.add(green);c.add(blue); c.add(black);
red.addActionListener(scr);
green.addActionListener(scr);
blue.addActionListener(scr);
black.addActionListener(scr);
clear.addActionListener(scr);
addWindowListener(new WinClose());
pack();
setVisible(true);
}
class WinClose extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
public static void main(String[] args) {
new MenuScribble("Paint");
}
}
class Scribble extends Component implements
ActionListener, MouseListener,MouseMotionListener{
protected int lastX, lastY, w, h;
protected Color currColor = Color.black;
protected Frame f;
public Scribble (Frame frame, int width,int height){
f=frame; w=width; h= height;
enableEvent (AWTEvent.MOUSE_EVENT_MASK |
AWTEvent.MOUSE_MOTION_EVENT_MASK);
addMouseListener(this);
addMouseMotionListener(this);
}
public Dimension getPreferredSize()
{
return new Dimension(w, h);
}
public void actionPerformed(ActionEvent event)
{
String s = event.getActionCommand();
if (s.equals("Clear")) repaint();
else if (s.equals("red")) currColor = Color.red;
else if (s.equals("green")) currColor = Color.green;
else if (s.equals("blue")) currColor = Color.blue;
else if (s.equals("black")) currColor = Color.black;
}
public void mousePressed(MouseEvent e)
{
if ((e.getModifiers()& MouseEvent.BUTTON1_MASK) == 0) return;
lastX = e.getX(); lastY = e.getY();
}
public void mouseDragged (MouseEvent e){
if ((e.getModifiers() & MouseEvent.BUTTON1_MASK) == 0) return;
Graphics g = getGraphics();
g.setColor(currColor);
g.drawLine(lastX, lastY, e.getX(), e.getY());
lastX = e.getX(); lastY = e.getY();
}
public void mouseReleased(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e ) {}
public void mouseExited(MouseEvent e ) {}
public void mouseMoved (MouseEvent e) {}
}