重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
承接上一个问题, 已经解决了JPanel圆圈的绘制 和颜色的改变了
创新互联-专业网站定制、快速模板网站建设、高性价比临洮网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式临洮网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖临洮地区。费用合理售后完善,十多年实体公司更值得信赖。
概率设置问题, 也可以用随即数产生
比如0.015 可以看成是15/1000 . 比如 [0,14]闭区间 一共有15个数字. 只要随即产生的数字是[0,14]间,就可以认为满足条件.
也就是说随即数字范围在[0,1000) 的左闭右开区间内, 只要小于15 就可以改变颜色为红色
源代码里需要修改代码
//产生 1个集合,里面有1和0两种元素,共计10个
private ArrayListInteger getList() {
list.clear();//清空元素
Random r=new Random();
for (int i = 0; i 10; i++) {
if(r.nextInt(1000)15) {//0.015 就是 15/1000 [0~14]共15个数字,在此区间的概率就是0.015
list.add(1);
totalRed+=1;
}else {
list.add(0);
totalGreen+=1;
}
}
return list;
}
应该是你的同学问过这个问题了,代码发给你参考,你理解下思路,然后修改代码吧,不要重复了
(点击按钮后,按钮上的字母变红)如果是敲键盘上的按键后变红,也可以简单的修改
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LetterFrame extends JFrame{
public LetterFrame() {
for (int i = 65; i 91; i++) {
final JButton jb = new JButton((char)i+"");
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//按钮背景变红
//jb.setBackground(Color.RED);
//按钮上的文字变红
jb.setForeground(Color.RED);
}
});
this.add(jb);
}
this.setLayout(new FlowLayout());
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setBounds(360, 180,300 ,200 );
this.setVisible(true);
}
public static void main(String[] args) {
new LetterFrame();
}
}
为你的这个按钮添加监听器,在监听器中判断你按下的是什么按钮,如果是你按的这个按钮:
设置一个全局变量,用来控制颜色变化,比如是0表示绿色,1表示红色;
就这样判断下:
if(color==0)
{
setColor(new Color(.......));//设置为绿色
color=color+1;
}
else if(color==1)
{
setColor(new Color(.......));//设置为红色
color=color-1;
}
类似这种,希望能帮到你!
这是因为检出的项目使用的jdk与本地jdk不一致的导致的。
会出现这样的情况,你可以comm.jar放到eclipse的项目中,选中这个jar包,右键-Build Path-Add to Build Path,这样就可以了。
有时候你配置好环境,运行之后也能列出串口。但过一段时间后,找不到串口了,然而在设备管理器里还能看到串口,以前也能运行,环境不存在问题,重启也没用。你可以这样解决,把win32com.dll复制到eclipse项目目录下,然后在main方法一开始添加如下代码,下面这样不需要配置comm环境了
CommDriver driver = null;
String driverName = "com.sun点抗 m.Win32Driver";
try {driver = (CommDriver) Class.forName(driverName).newInstance();driver.initialize();}
catch (InstantiationException | IllegalAccessException
| ClassNotFoundException e) {// TODO Auto-generated catch block
e.printStackTrace();}