Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 5

Invalid method declaration return type required

26.11.2015, 00:32. Показов 1958. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
код из учебника, однако выдает ошибку при попытке сборки.....
вот сама ошибка
Кликните здесь для просмотра всего текста
Java
1
java: F:\paint\src\pPainTt.java:17: invalid method declaration; return type required


вот код...
Кликните здесь для просмотра всего текста
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.geom.*;
import java.util.*;
 
public class pPainTt extends JFrame{
    JButton brushBut, lineBut, ellipseBut, rectBut, strokeBut, fillBut;
    
    int currentAction = 1;
    Color strokeColor=Color.BLACK, fillColor=Color.black;
    
    public static void main(String[] args){
        new JavapPainTt();
    }
    
    public class JavapPainTt(){
        this.setSize(500, 500);
        this.setTitle("Paint");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        JPanel buttonPannel = new JPanel();
        
        Box theBox = Box.createHorizontalBox();
//      brushBut, lineBut, ellipseBut, rectBut, strokeBut, fillBut;
        
        brushBut = makeMeButtons("brush.png",1);
        lineBut = makeMeButtons("line.png",2);
        ellipseBut = makeMeButtons("ellipse.png",3);
        rectBut = makeMeButtons("rect.png",4);
        
        strokeBut = makeMeColorButtons("stroke.png",5, true);
        fillBut = makeMeColorButtons("fill.png",6, false);
        
        theBox.add(brushBut);
        theBox.add(lineBut);
        theBox.add(ellipseBut);
        theBox.add(rectBut);
        theBox.add(strokeBut);
        theBox.add(fillBut);
        
        buttonPannel.add(theBox);
        
        this.add(buttonPannel, BorderLayout.SOUTH);
        this.add(new DrawingBoard(), BorderLayout.CENTER);
        
        this.setVisible(true);
    }
    
    public JButton makeMeButtons(String iconFile, final int actionNum){
        
        JButton theBut = new JButton();
        Icon butIcon = new ImageIcon(iconFile);
        theBut.setIcon(butIcon);
        
        theBut.addActionListener(new ActionListener() {
            
            public void actionPerformed(ActionEvent e){
                currentAction = actionNum;
            }
 
        });
        
        return theBut;  
    }
    
    public JButton makeMeColorButtons(String iconFile, final int actionNum, final boolean stroke){
        
        JButton theBut = new JButton();
        Icon butIcon = new ImageIcon(iconFile);
        theBut.setIcon(butIcon);
        
        theBut.addActionListener(new ActionListener() {
            
            public void actionPerformed(ActionEvent e){
                if(stroke){
                    strokeColor = JColorChooser.showDialog(null,"Pick a stroke", Color.BLACK);
                } else {
                    fillColor = JColorChooser.showDialog(null,"Pick a fill", Color.BLACK);
                }
            }
 
        });
        
        return theBut;  
    }
    
    private class DrawingBoard extends JComponent{
        ArrayList<Shape> shapes = new ArrayList<Shape>();
        ArrayList<Color> shapeFill = new ArrayList<Color>();
        ArrayList<Color> shapeStroke = new ArrayList<Color>();
        Point drawStart, drawEnd;
        
        public DrawingBoard(){
            this.addMouseListener(new MouseAdapter()
            {
                public void mousePressed(MouseEvent e ){
                    drawStart = new Point(e.getX(), e.getY());
                    drawEnd = drawStart;
                    repaint();
                }
                public void mouseReleased(MouseEvent e){
                    Shape aShape = drawRectangle(drawStart.x, drawStart.y, e.getX(), e.getY());
                    
                    shapes.add(aShape);
                    shapeFill.add(fillColor);
                    shapeStroke.add(strokeColor);
                    
                    drawStart = null;
                    drawEnd = null;
                    repaint();
                    
                    
                }
            });
            
            this.addMouseMotionListener(new MouseMotionAdapter()
            {
                public void mouseDragged(MouseEvent e){
                    drawEnd = new Point(e.getX(),e.getY());
                    repaint();
                }
            });
        }
        
        public void paint(Graphics g){
            
            Graphics2D graphSettings = (Graphics2D)g;
            graphSettings.setRendering(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIASING_ON);
            graphSettings.setStroke(new BasicStroke(2));
            Iterator<Color> strokeCounters = shapeStroke.iterator();
            Iterator<Color> fillCounters = shapeFill.iterator();
            
            graphSettings.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f));
            
            for(Shape s: shapes){
                
                graphSettings.setPaint(strokeCounters.next());
                graphSettings.draw(s);
                graphSettings.setPaint(fillCounters.next());
                graphSettings.fill(s);
            }
            if(drawStart != null && drawEnd != null){
                graphSettings.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f));
                graphSettings.setPaint(Color.GRAY);
                Shape aShape = drawRectangle(drawStart.x, drawStart.y, drawEnd.x, drawEnd.y);
            }
        }
        
        private Rectangle2D.Float drawRectangle(int x1, int y1, int x2, int y2){
            int x = Math.min(x1,x2);
            int y = Math.min(y1,y2);
            int wigth = Math.abs(x1-x2);
            int height = Math.abs(y1-y2);
            return new Rectangle2D.Float(x,y,wigth,height);
        }
    }
    
}

подскажите, что и как можно тут исправить?!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2015, 00:32
Ответы с готовыми решениями:

Error: invalid method declaration; return type required public
Доброго времени суток. Кто подскажет, почему меня оскорбляет товарищ терминал?) Вот шедевр который я ему излагаю: package com.ete.test;...

Error: invalid method declaration; return type required
class Sinav{ public static void main(String args){ Bus b = new Bus(); b.setNumOfPeople(60); b.getNumOfPeople(); ...

Ошибка в коде: invalid method declaration return type required
И так, код с учебника, но и в этом коде умудрился допустить ошибку. Уже замахался искать, вобщем ступор. Помогите! Заранее спасибо. Вот...

2
 Аватар для Doctor_
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
26.11.2015, 09:05
Если это и правда код из книги, то подойдите у окну и выкинте эту книгу как можно дальше.

У вас есть класс pPainTt который наследует JFrame. В этом классе (pPainTt) есть еще один класс JavapPainTt, точнее не класс, а какой-то бред.
Java
1
public class JavapPainTt()
это что за запись?

Добавлено через 2 минуты
сменить JavapPainTt на ваш класс pPainTt.
1)
Java
1
2
3
public static void main(String[] args) {
        new pPainTt();
    }
2)
Java
1
2
// public class JavapPainTt(){
/*на */ public pPainTt() {
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 5
26.11.2015, 12:31  [ТС]
точно, не сразу допер почему именно JavapPainTt... спасибо огромное)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.11.2015, 12:31
Помогаю со студенческими работами здесь

Ошибка Method most have a return type в InitializeComponent()
При компиляции выдает ошибку Method most have a return type в InitializeComponent() partial class Form1 : Form { ...

Исправить ошибку Method must have a return type
Задание такое) Дана строка чисел через запятую. Сформировать новую строку, состоящую из чисел кратных указанному пользователю числу....

Cannot convert method group 'to_get' to non-delegate type 'int'. Did you intend to invoke the method?
При обращении в методе объекта к методу объекта другого класса, вываливается такая ошибка. Причём код всёравно работает без косяков ...

[Warning] Unit1.pas(57): Method 'WndProc' hides virtual method of base type 'TCustomForm'
Как исправить procedure WndProc (var Msg: TMsg; var Handled:boolean); чтобы не было предупреждения Unit1.pas(57): Method 'WndProc' hides...

Выводит ошибку type-declaration character does not match declared data type
Не могу понять где ошибка в программе, помогите исправить, очень нужна ваша помощь.. Sub lab4() Dim R(22), tau(22) As Double T1 = 3.5 ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru