Java 下面的代码是每次单击按钮时显示随机颜色。但是,尽管经过了充分的编译,它仍然不起作用。谢谢
//创建随机颜色的代码Java 下面的代码是每次单击按钮时显示随机颜色。但是,尽管经过了充分的编译,它仍然不起作用。谢谢,java,jframe,components,jbutton,paint,Java,Jframe,Components,Jbutton,Paint,//创建随机颜色的代码 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[])
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的大小时,您的椭圆形都会被重新绘制,这是您想要的行为吗?
button.addActionListener(new gui7());
button.addActionListener(this);