Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 17:36 13.07.25 
Клубове/ Компютри и Интернет / Програмисти Пълен преглед*
Информация за клуба
Тема криво лево работещо решение [re: jensen-110062]
Автор jensen-110062 (рекордьор)
Публикувано24.09.11 19:49  



import java.awt.*;
import javax.swing.*;

public class BouncingBalls extends JFrame{

public BouncingBalls () {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,300);
setForeground(Color.WHITE);
Pan1 panel1=new Pan1(Color.RED);
Pan1 panel2=new Pan1(Color.BLUE);
Pan1 panel3=new Pan1(Color.YELLOW);

panel2.add(panel3, BorderLayout.CENTER);
panel1.add(panel2, BorderLayout.CENTER);
getContentPane().add(panel1);

setVisible(true);

Thread t1=new Thread(panel1);
Thread t2=new Thread(panel2);
Thread t3=new Thread(panel3);

t1.start();
t2.start();
t3.start();

}

public static void main(String[] args)
{
new BouncingBalls();

}
}








import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Pan1 extends JPanel implements ActionListener, Runnable{

private int DIAMETER = 40;
private int ballX =0;
private int ballY =0;

private double ballSpeedX = Math.random()*20; // Ball's speed for x and y
private double ballSpeedY = Math.random()*20;

private int rightBound; // Maximum permissible x, y values.
private int bottomBound;
Timer time;
Color color;

public Pan1(Color color) {
setOpaque(false);
this.color=color;
//setBackground(Color.WHITE);
setLayout(new BorderLayout());
time=new Timer(20, this);
time.start();

}

public void setBounds(int width, int height) {
rightBound = width - DIAMETER;
bottomBound = height - DIAMETER;
}

public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(color);
g.fillOval(ballX, ballY, DIAMETER, DIAMETER);
}

public void move() {
ballX += ballSpeedX;
ballY += ballSpeedY;

if (ballX < 0) {
ballX = 0;
ballSpeedX = -ballSpeedX;

} else if (ballX > rightBound) {
ballX = rightBound;
ballSpeedX = -ballSpeedX;
}

if (ballY < 0) {
ballY = 0;
ballSpeedY = -ballSpeedY;

} else if (ballY > bottomBound) {
ballY = bottomBound;
ballSpeedY = -ballSpeedY;
}

}

public void actionPerformed (ActionEvent event) {
setBounds(getWidth(), getHeight());
move();
repaint();
}

public void run() {
try {
Thread.sleep( 20);
}
catch ( InterruptedException exception ) {
System.err.println( exception.toString() );
}
time.start();
}
}




Цялата тема
ТемаАвторПубликувано
* Айде малко да си размърдате мозъците jensen-110062   23.09.11 22:22
. * Re: Айде малко да си размърдате мозъците zaphod   24.09.11 08:19
. * Подозренията ми за този клуб се потвърждават Deern   24.09.11 19:13
. * Re: Подозренията ми за този клуб се потвърждават jensen-110062   24.09.11 19:47
. * Re: Подозренията ми за този клуб се потвърждават jeweel   25.09.11 01:42
. * Re: Подозренията ми за този клуб се потвърждават NikiFin   25.09.11 19:26
. * криво лево работещо решение jensen-110062   24.09.11 19:49
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.