0 / 0 / 0
Регистрация: 17.08.2015
Сообщений: 1
1

Холст не отображается

17.08.2015, 23:32. Показов 616. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Я пытаюсь написать программу, в которой с помощью переключателей можно было бы рисовать фигуры на холсте Canvas. Пишу в Блокноте, компилирую и запускаю программу в командной строке. Код в порядке, но после запуска в окне не отображается холст MeineCanvas, видна только группа переключателей, которые при нажатии ничего не делают.
Прошу указать мне на совершенные ошибки! Код привожу под обращением.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Malprogramm extends JFrame{
 ButtonGroup m_formfigur;  //Группа кнопок
 int m_xpos,m_ypos;        //Текущая позиция курсора мыши
 
 public static void main(String[] args){
  Malprogramm fenster=new Malprogramm("Солянка");
  fenster.pack();
  fenster.setSize(900,450);
  fenster.setResizable(true);
  fenster.setVisible(true);
  }
 class MeineCanvas extends Canvas{
  class MeiMAd extends MouseAdapter{
   public void mousePressed(MouseEvent e){
    //Запоминание текущей позиции мыши
    m_xpos=e.getX();
    m_ypos=e.getY();
   
    //Перерисовка окна
    repaint();
    }
   }
  MeineCanvas(){
   addMouseListener(new MeiMAd());
   setBackground(Color.black);
   setForeground(Color.orange);
   }
  public void paint(Graphics g){
   String label;
   ButtonModel aktuell=null;
 
   //Какая фигура выбрана?
   aktuell=m_formfigur.getSelection();
 
   //Действовать в соответствии с произведенным выбором
   if(aktuell==null) return;
   int w=(int)(Math.random()*300);
   int h=(int)(Math.random()*300);
   label=aktuell.getActionCommand();
   if (label.equals("Окружность")) g.drawOval(m_xpos,m_ypos,w,w);
   if (label.equals("Круг")) g.drawOval(m_xpos,m_ypos,w,h);
   if (label.equals("Прямоугольник")) g.drawRect(m_xpos,m_ypos,w,h);
   }
  }
 Malprogramm(String titel){
  super(titel);
  setLayout(new BorderLayout());
  MeineCanvas m_malflaeche=new MeineCanvas();
  add("West",m_malflaeche);
  JPanel panel=new JPanel();
  panel.setLayout(new GridLayout(3,1,20,20)); 
  m_formfigur=new ButtonGroup();
  JRadioButton opt1=new JRadioButton("Окружность",false);
  JRadioButton opt2=new JRadioButton("Круг",false);
  JRadioButton opt3=new JRadioButton("Прямоульгольник",false);
  opt1.setActionCommand("Окружность");
  opt2.setActionCommand("Круг");
  opt3.setActionCommand("Прямоульгольник");
  m_formfigur.add(opt1);
  m_formfigur.add(opt2);
  m_formfigur.add(opt3);
  panel.add(opt1);
  panel.add(opt2);
  panel.add(opt3);
  add("East",panel);
  setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 }
 public Dimension getMinimumSize(){
  return new Dimension(900,900);
  }
 public Dimension getPreferredSize(){
  return getMinimumSize();
  }
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2015, 23:32
Ответы с готовыми решениями:

Холст мешает нажатиям
Здравствуйте, я столкнулся с проблемой - один холст canvas не дает мне нажимать на другой холст...

Изменить холст изображения
Доброго времени суток. Сразу говорю, что в PHP не очень силён и в основном мои отношения с ним были...

Холст как фон
Здравствуйте! Подскажите пожалуйста как можно установить изображение .jpg в качестве бэграунда?...

Копирование текста с градиентом на холст
Не получается после нажатия на кнопку copy скопировать с одного места на холсте текста с градиентом...

0
17.08.2015, 23:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2015, 23:32
Помогаю со студенческими работами здесь

Как вывести изображение на холст
Как вывести изображение на холст В плане какой путь к изображению нужно указывать тут : def...

Не сохраняется холст в картинку. Почему?
Привет всем. На холст загружаю одну картинку и сохранение работает. Потом в этот же холст загружаю...

Холст для одновременного рисования в php
Как сделать на сайте холст где можно всем рисовать одновременно? Чтобы можно было выбирать цвета и...

Вывести на холст термин и связанные с ним слова
Доброго времени суток. Задача такая - необходимо, используя JS, вывести на холст термин и...

Как сделать холст и нарисовать на нем что-нибудь?
Как сделать холст в kivy и отрисовать на нём что-либо?

Разбить холст на случайного размера прямоугольники разных цветов
Здравствуйте! Как средствами javascript и canvas разбить холст на случайного размера прямоугольники...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru