Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / метод paintComponent() / 4 сообщений из 4, страница 1 из 1
02.11.2012, 11:44:29
    #38023044
Ernist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод paintComponent()
Подскажите пожалуйста, почему следующий код рисует только объект fider_2?
Код: 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.
import javax.swing.*;
import java.awt.*;

public class Lines extends JFrame{
	public Shape fider_1 = new Shape(50,50,Color.black);
	public Shape fider_2 = new Shape(50,150,Color.red);

	public Lines(){
		add(fider_1);
		add(fider_2);
		setSize(600,600);
		setVisible(true);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
 
	public static void main(String[] args){
		new Lines();
	}
	
class Shape extends JPanel{
	private Color color;
	private double x,y,X,Y;
	public Shape(int x, int y, Color color){
	this.x = x;
	this.y = y;	
	this.color = color;
	}
	
	@Override
    protected void paintComponent(Graphics g)
    {
	super.paintComponent(g);
      g.setColor(Color.blue);
	  g.drawOval(5,5,50,50);
	  g.setColor(color);
	  g.fillOval(5,5,50,50);
    }
}
}
...
Рейтинг: 0 / 0
02.11.2012, 11:45:48
    #38023048
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод paintComponent()
Потому что один рисуется поверх другого?
...
Рейтинг: 0 / 0
02.11.2012, 11:59:45
    #38023081
Ernist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод paintComponent()
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
class Shape extends JPanel{
	private Color color;
	private double x,y,X,Y;
	public Shape(int x, int y, Color color){
	this.x = x;
	this.y = y;	
	setBounds(x,y,10,100);
	this.color = color;
	}


почему бордер создается для второго объекта?
...
Рейтинг: 0 / 0
02.11.2012, 12:14:53
    #38023128
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод paintComponent()
Какой ещё border? Вы для чего от JPanel наследуетесь? Попробуйте setOpaque(false), но только как временное решение. Этот метод на самом деле не предназначен для прямого использования. Лучше откажитесь от JPanel и посмотрите как надо делать в нормальных книжка по Java2D.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / метод paintComponent() / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]