下面的代码是每次单击按钮时显示随机颜色。但尽管已完全编译,但它无法正常工作。谢谢
Posted
技术标签:
【中文标题】下面的代码是每次单击按钮时显示随机颜色。但尽管已完全编译,但它无法正常工作。谢谢【英文标题】:The Code Below is to display random color everytime i click the button. But its not working despite being fully compiled. Thanks 【发布时间】:2018-12-02 15:38:21 【问题描述】:package gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class gui7 implements ActionListener
JFrame frame=new JFrame();
JButton button=new JButton("Click me");
public static void main(String args[])
gui7 a=new gui7();
a.go();
public void actionPerformed(ActionEvent event)
frame.repaint(); //to call paintcomponent
public void go()
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button.addActionListener(new gui7());
gui8 f=new gui8();
frame.getContentPane().add(BorderLayout.SOUTH,button);
frame.getContentPane().add(BorderLayout.CENTER,f);
frame.setSize(300,300);
frame.setVisible(true);
package gui;
import java.awt.*;
import javax.swing.*;
public class gui8 extends JPanel
public void paintComponent(Graphics g)
g.fillRect(0, 0, this.getWidth(),this.getHeight());
//创建随机颜色的代码
int red=(int)(Math.random()*255);
int blue=(int)(Math.random()*255);
int green=(int)(Math.random()*255);
Color rand=new Color(red,blue,green);
g.setColor(rand);
g.fillOval(70, 70, 100, 100);
【问题讨论】:
每次调整 JFrame 大小时都会重新绘制椭圆形,这是期望的行为吗? 【参考方案1】:我觉得你应该换行
button.addActionListener(new gui7());
到
button.addActionListener(this);
【讨论】:
以上是关于下面的代码是每次单击按钮时显示随机颜色。但尽管已完全编译,但它无法正常工作。谢谢的主要内容,如果未能解决你的问题,请参考以下文章