@maly222

Как вывести цвет кнопки который был последним в java?

Нужно чтобы при перезагрузке приложение вывелся последний цвет который который был.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Date;
import java.util.*;
import java.io. *;
import java.io.Serializable;
import java.io.IOException;
public class The extends JFrame{
	private JButton st1=new JButton("26");
public The(){

super("Plants");
JPanel panel=new JPanel();
panel.add(st1);



panel.add(st18);
st1.addActionListener(new Ac()); //Дбавляю листенер
add(panel);

}
 class Ac implements ActionListener{
 public void actionPerformed(ActionEvent e){
 Object source = e.getSource();
  
if (((Component)source).getBackground().equals(Color.red)){
    ((Component)source).setBackground(null); \\Меняю цвет кнопки

}else {
    ((Component)source).setBackground(Color.red);
 
  }

     try {\\Тут я кинул в color1.txt папу состояние кнопки. Тоест цвет кнопки
            FileOutputStream f = new FileOutputStream("color1.txt");
            ObjectOutputStream out = new ObjectOutputStream(f);
out.writeObject(st1);
System.out.println("File has been writen");
out.close();
        } catch (IOException o) {   
        }
   }

}
	public static void main(String[] args) throws IOException{
		The window=new The();
		window.setVisible(true);
		window.setSize(400,600);

         FileInputStream fileInputStream = new FileInputStream("color1.txt");
       ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
       \\ Тепер нужно чтобы при перезагрузке окна вывелся цвет который был перед закрытием. Тоест если цвет кнопки была красный чтобы вывелся красный. Если цвет кнопки обычная то вывелся обычный цвет.
}
}
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Если не ошибаюсь, то это уже 3-й раз, как вы задаете этот вопрос.
В общем,
\\ Теперь нужно чтобы при перезагрузке окна вывелся цвет который был перед закрытием. Тоест если цвет кнопки была красный чтобы вывелся красный. Если цвет кнопки обычная то вывелся обычный цвет.

Вам нужно:
1) Нужные данные (например, цвет текущей кнопки) сериализовать в файл или например, сохранить в БД.
2) Далее при старте приложения прочитать содержимое файла и если в файле есть нужные вам данные (например, цвет кнопки), то его назначит для данной кнопки.
Прочитайте про сериализацию и десериализацию в Java. А также прочитайте, как изменить цвет кнопки.
Готово.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы