нужно сделать мигание JButton

177
23 ноября 2017, 03:08

надо сделать анимацию из кнопок

1.как реализовать периодическую смену цвета кнопки

2.пока работает цикл паралельно слушать кнопку "Stop" и при нажатии ставить цикл на паузу

код

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class testV extends JFrame{
JPanel windowContent= new JPanel();
Panel centerPanel=new Panel();
JButton squares[][];
Button newGameButton;
Label scored;
int turn=0;String trn=Integer.toString(turn);
Color clearCell=new Color(212, 208, 200);
public testV()  {
    windowContent.setLayout(new BorderLayout());
    newGameButton=new Button("Stop");
    newGameButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if(newGameButton.getLabel()=="Stop") {
               //здесь ставить цикл на паузу
                newGameButton.setLabel("Play");
            }
            else if(newGameButton.getLabel()=="Play") {
            //здесь снимать с паузы
                newGameButton.setLabel("Stop");
            }
        }
    });
    Panel topPanel=new Panel(new BorderLayout());
    topPanel.add(newGameButton,"South");
    windowContent.add(topPanel,"South");
    scored=new Label(trn);
    topPanel.add(scored,"North");
    centerPanel.setLayout(new GridLayout(5,5));
    windowContent.add(centerPanel,"Center");
    squares=new JButton[5][5];
    for(int i=0;i<squares.length;i++){
         for (int j = 0; j < squares[i].length; j++){
             squares[i][j]=new JButton();
             squares[i][j].setBorderPainted(false);
             squares[i][j].setBackground(Color.BLACK);
             centerPanel.add(squares[i][j]);
        }
     }
    if(turn<10)
     M1();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     setPreferredSize(new Dimension(500, 500));
     setContentPane(windowContent);
     pack();     
     setVisible(true);
}//public Logo() 
void M1() {//тут мы должны последовательно менять цвет
    slp();
    st();
    squares[2][2].setBackground(clearCell);
    slp();
    st();
    squares[2][2].setBackground(Color.BLACK);
}
void slp() {
    try {
        Thread.sleep(500);
        } catch (InterruptedException e) {e.printStackTrace();
        Thread.currentThread().interrupt();}
}
void st(){
    turn=turn+1;
    trn=Integer.toString(turn);
    scored.setText(trn);
}
public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
                new testV();
            }
        });
    }
}
READ ALSO
java отображение степени

java отображение степени

Возможно ли в Java, как в Word, записать число в степени в переменную типа StringПри этом считать его? Знаю что возможно записать степень числа как:

207
Вывести определенный html с помощью jquery

Вывести определенный html с помощью jquery

Есть такая задачаПри определенном разрешении экрана нужно вывести определенный код html

252
Обработка формы Laravel

Обработка формы Laravel

Имеется обычная форма из CRUD'aПо нажатию на "Submit" она сохраняет данные в БД

268