如何设置JButton在单击时逐渐改变颜色

时间:2016-12-29 00:34:45

标签: java swing colors jbutton actionlistener

我想创建JButton以在每次单击时更改颜色,但在第二次单击后它不会更改。 这很奇怪,因为使用Random()。nextInt(250)而不是i它可以工作。 可能是什么问题?

以下是代码:

import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Main { public static void main(String[] args) { JFrame jf = new JFrame(); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel jp = new JPanel(); jp.setLayout(new BorderLayout(100, 100)); JButton l = new JButton("Hello"); l.setBackground(new Color(245, 12, 53)); jp.add(l, BorderLayout.EAST); jf.add(jp); jf.setSize(200, 200); jf.setLocationRelativeTo(null); jf.setVisible(true); l.addActionListener(new ActionListener() { Integer i = new Integer(0); Color c = new Color(150, 10, i); @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if (i < 200) { i += 50; c = new Color(150, 10, i); l.setBackground(c); } else i = 0; } }); } }

0 个答案:

没有答案