Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java GUI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
sash000k
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 5
1

Invalid method declaration return type required

26.11.2015, 00:32. Просмотров 549. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2015, 00:32
Ответы с готовыми решениями:

Error: invalid method declaration; return type required public
Доброго времени суток. Кто подскажет, почему меня оскорбляет товарищ терминал?)...

Cannot return value from a method with void result tupe. Why?!
на java только начал кодить, вот с какой проблемой столкнулся: private...

"MyException.java": Error #: 361 : method required, but value found
У меня есть класс MyException, и я хочу выдавать ошибку в зависимости от ее...

void is an invalid type for variable paintComponent
import javax.swing.*; import javax.swing.JFrame; import javax.swing.JPanel;...

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

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

У вас есть класс 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
sash000k
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 5
26.11.2015, 12:31  [ТС] 3
точно, не сразу допер почему именно JavapPainTt... спасибо огромное)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2015, 12:31

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru