Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в коде программы 
:(
    Опции темы
gws12011990
Дата 20.9.2010, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.5.2010

Репутация: нет
Всего: нет



Какая-то ошибка может кто- нибудь посмотрит?
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - variable saveAs might not have been initialized
        at javaapplication2.MenuScribble.<init>(MenuScribble.java:7)
        at javaapplication2.MenuScribble.main(MenuScribble.java:73)


Код

package javaapplication2;
import java.awt.*;
import java.awt.event.*;
public class MenuScribble extends Frame {
    private final Object saveAs;
    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) {}

}

PM MAIL   Вверх
mstalker26
Дата 20.9.2010, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 4.7.2009

Репутация: 4
Всего: 11



ругается он на переменную
Код

private final Object saveAs


кстати, зачем тебе она, если ты нигде ее не используешь?
--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
PM   Вверх
gws12011990
Дата 20.9.2010, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.5.2010

Репутация: нет
Всего: нет



Спасибо разобрался подскажите как сделать так, чтобы рисунок нарисованный не стирался после того как производишь какие- либо действия над окном программы (сворачиваешь или переносишь с места на место)!
PM MAIL   Вверх
mstalker26
Дата 20.9.2010, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 4.7.2009

Репутация: 4
Всего: 11



Первое что пришло в голову: сохранить рисунок в BufferedImage, а потом нарисовать его после сворачивания и перемещения окна.
--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0935 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.