Changement des couleurs des boutons dans Java Swing en fonction de l'état
Dans Java Swing, les couleurs des boutons personnalisés peuvent améliorer l'expérience utilisateur et fournir des indices visuels sur les données statut. Ceci est particulièrement pertinent dans les scénarios où l'application implique des modifications dynamiques des données, comme la gestion des tables dans un restaurant.
Pour obtenir la fonctionnalité souhaitée, Java Swing propose plusieurs options :
Modifier Couleur d'arrière-plan du bouton
Couleur du bouton clignotant
Exemple de code :
import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; public class ButtonColorExample 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 JButton[] buttons = new JButton[N * N]; public ButtonColorExample() { // Initialize buttons and add them to the panel this.setLayout(new GridLayout(N, N)); for (int i = 0; i < N * N; i++) { JButton btn = new JButton("Button " + String.valueOf(i)); buttons[i] = btn; this.add(btn); } } @Override public void actionPerformed(ActionEvent e) { // Change button colors randomly for (JButton btn : buttons) { btn.setBackground(new Color(rnd.nextInt())); } } public static void main(String[] args) { // Create and configure the frame JFrame frame = new JFrame("Button Color Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(new ButtonColorExample()); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); // Start the timer to update button colors timer.start(); } }
Cet exemple montre l'utilisation de setBackground() et Timer pour modifier et faire clignoter les couleurs des boutons dans Java Swing. En étendant la classe JPanel, vous pouvez facilement intégrer cette fonctionnalité dans vos propres applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!