Java의 깜박이는 버튼
Java Swing에서 버튼의 모양을 변경하면 데이터베이스 상태가 변경되는 경우와 같은 다양한 상태를 나타낼 수 있습니다. . 이 글에서는 버튼 색상을 수정하고 깜박이는 효과를 추가하여 특정 상태를 강조하는 방법을 다룹니다.
버튼 색상 변경
버튼 색상을 변경하려면 다음을 사용할 수 있습니다. setForeground() 메서드를 사용하여 텍스트 색상을 변경합니다. 해당 setBackground() 메서드는 배경색에 영향을 주지만 일부 플랫폼에서는 표시되지 않을 수 있습니다. 대안은 컬러 JPanel을 버튼의 배경으로 사용하는 것입니다.
깜박이는 효과 추가
깜박이는 효과를 만들기 위해 Timer 개체를 활용할 수 있습니다. Timer는 actionPerformed() 메서드를 반복적으로 호출하여 버튼 색상을 주기적으로 변경할 수 있습니다. 타이머 간격을 짧은 기간(예: 100밀리초)으로 설정하면 깜박이는 효과를 얻을 수 있습니다.
코드 예
다음 코드 조각은 타이머 간격을 만드는 방법을 보여줍니다. 매초마다 색상이 바뀌는 깜박이는 버튼:
import java.awt.Color; import java.awt.EventQueue; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; public class ButtonTest extends JPanel implements ActionListener { private static final int N = 4; private static final Random rnd = new Random(); private final Timer timer = new Timer(1000, this); private final List<ButtonPanel> panels = new ArrayList<ButtonPanel>(); public ButtonTest() { this.setLayout(new GridLayout(N, N, N, N)); for (int i = 0; i < N * N; i++) { ButtonPanel bp = new ButtonPanel(i); panels.add(bp); this.add(bp); } } @Override public void actionPerformed(ActionEvent e) { for (JPanel p : panels) { p.setBackground(new Color(rnd.nextInt())); } } private static class ButtonPanel extends JPanel { public ButtonPanel(int i) { this.setBackground(new Color(rnd.nextInt())); this.add(new JButton("Button " + String.valueOf(i))); } } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { JFrame f = new JFrame("ButtonTest"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ButtonTest bt = new ButtonTest(); f.add(bt); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); bt.timer.start(); } }); } }
이 코드는 다음과 같은 그리드를 생성합니다. 버튼은 각각 무작위로 선택된 색상으로 구성되어 있습니다. 타이머는 매초 actionPerformed() 메서드를 호출하여 모든 버튼의 색상을 다른 임의 색상으로 업데이트하여 지속적으로 깜박이는 효과를 만듭니다.
위 내용은 Java Swing에서 색상 변경으로 깜박이는 버튼을 어떻게 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!