Я пытаюсь написать дождь на java, но пока ни как не могу заставить дождинку двигаться:
package com.company;
public class Main {
public static void main(String[] args) {
MyWindow myWindow =new MyWindow();
}
}
package com.company;
import javax.swing.*;
import javax.swing.plaf.ColorUIResource;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class MyWindow extends JFrame
{
public MyWindow()
{
setTitle("My Window");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setBounds(300,300,500,400);
setLayout(new BorderLayout());
RainField RF=new RainField();
add(RF,BorderLayout.CENTER);
setResizable(true);
setVisible(true);
}
}
package com.company;
import javax.swing.*;
import java.awt.*;
public class RainField extends JPanel {
public int i=0;
protected float x=getWidth()/2,y=0,yspeed=1;
public RainField() {
for (i=0;i<1000;i++){
y+=10;
// repaint();
}
}
protected void paintComponent (Graphics g){
setBackground(Color.orange);
int x = getWidth() / 2;
int y = 99;
g.setColor(Color.BLUE);
g.drawLine(x, y, x, y + 10);
}
}
Main - без изменений
package com.company;
class Main {
public static void main(String[] args) {
MyWindow myWindow = new MyWindow();
}
}
Далее много ошибок у вас.
MyWindow
package com.company;
import javax.swing.*;
import java.awt.*;
class MyWindow extends JFrame
{
public MyWindow()
{
setTitle("My Window");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setBounds(300,300,500,400);
setLayout(new BorderLayout());
RainField RF = new RainField();
add(RF,BorderLayout.CENTER);
// ширина у JPanel появляется после
// того, как он становится частью JFrame
RF.setX(getWidth()/2);
setResizable(true);
setVisible(true);
// Создаем поток, в котором будем
// перерисовывать JFrame
Thread thread = new Thread(RF);
thread.start();
}
}
RainField
package com.company;
import javax.swing.*;
import java.awt.*;
// Добавляем интерфейс Runnable
public class RainField extends JPanel implements Runnable {
public int i = 0;
protected int x, y;
// Добавляем сеттер для (Х)
public void setX(int x) {
this.x = x;
}
// Определяем функцию для потока
@Override
public void run() {
for (i=0;i<1000;i++){
// Указываем задержку перед изменением
// координаты (Х),
// чтобы глаз что-то заметить успел
try {
Thread.sleep(60);
} catch (InterruptedException e) {
e.printStackTrace();
}
y += 10;
if (y > getHeight()) {
y = 0;
}
// Обновляем отображение
repaint();
}
}
@Override
protected void paintComponent (Graphics g){
// Эту строчку обязательно надо добавить
// чтобы лишних глюков не было
super.paintComponent(g);
// Ну и сама перерисовка
setBackground(Color.orange);
g.setColor(Color.BLUE);
g.drawLine(x, y, x, y + 10);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
http://bookboxsgzzz
К примеру, есть страничка в нэте с новостьюВ ней поочередно идут: Название статьи Краткое описание Фотография 1 Еще немного текста Фотография...
Подскажите в чем проблема может быть, карта рассыпалась, по сайту не каких работ и не было, только было просто изменено имя сотрудника в контактах,...