import java.awt.Color;
专业从事企业网站建设和网站设计服务,包括网站建设、空间域名、网站空间、企业邮箱、微信公众号开发、微信支付宝微信小程序定制开发、重庆APP软件开发、软件开发、等服务。公司始终通过不懈的努力和以更高的目标来要求自己,在不断完善自身管理模式和提高技术研发能力的同时,大力倡导推行新经济品牌战略,促进互联网事业的发展。
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;
public class Ttex {
BufferedImage bi = new BufferedImage(300, 200, BufferedImage.TYPE_INT_RGB);
public Ttex(String text) {
Graphics gr = bi.createGraphics();
gr.setColor(Color.white);
gr.fillRect(0, 0, bi.getWidth(), bi.getHeight());
gr.setColor(Color.GRAY);
gr.drawString(text, 10, 10);
}
/**
* 根据地址来保存文件
*
* @param dir
* 文件地址
*/
private void Save(String dir) {
BufferedImage image = bi;
// 得到系统支持的图片写入器
Iterator it = ImageIO.getImageWritersBySuffix("jpg");
ImageWriter iw = null;
if (it.hasNext()) {
try {
ImageOutputStream imgOut = ImageIO
.createImageOutputStream(new File(dir));
iw = (ImageWriter) it.next();
iw.setOutput(imgOut);
IIOImage iioi = new IIOImage(image, null, null);
iw.write(iioi);
imgOut.close();
iw.dispose();
} catch (IOException e1) {
}
}
}
public static void main(String[] args) {
Ttex m = new Ttex("0123456789");
m.Save("D:/1.jpg");
}
}
算法: 假设是一个3*3的网格. 那么就可以用二维数组来存储各个网格的颜色
假设紫色为0 ,那么二位数组就是
int[][] map={{0,1,0},{2,3,4},{5,6,0}};
记忆时间完毕 ,然后颜色全部恢复成白色
判断用户点击的位置,如果位置在紫色的上面 ,那么就可以恢复该方块的显示.
界面的思路一:
根据要求,可以这样设置,.比如界面设置为绝对布局,然后在同一个位置,放2个JPanel.
jp1 放在底下 , 里面显示各种颜色的圆圈
jp2 放在上面. 里面放按钮对圆圈进行遮挡,
注意一: jp1和jp2位置要相同,大小要相同,
注意二:绝对布局需要设置每个组件的大小和位置
界面思路二: [偷懒的方案]
用一个JPanel 里面填充9个按钮, 按钮都自带背景色., 然后记忆完成,按钮的背景色就清除,
界面思路三: [绘图法]
在一个JPanel上绘制图形,圆形/正方形, 然后用白色填充. 记录用户点击的位置,然后判断是否点击到了正确的方块上,是就显示出来
重点代码:
public void mousePressed(MouseEvent e) {
if (showMap) {
return;
}
clickTimes++;//答题次数记录 [可以添加逻辑,回答几次还没成功 就 提示 挑战失败]
//得到鼠标的点击位置
int x = e.getX();
int y = e.getY();
if (map[y / 100][x / 100] == value) { // 判断是否点击正确
score++;//得分+1
selected[y / 100][x / 100] = true;//设置为true,显示该方块
repaint();//重绘jpanel
if (score == 3) {
JOptionPane.showMessageDialog(this, "全部答对", "恭喜", JOptionPane.INFORMATION_MESSAGE);
return;
}
} else {
//System.out.println("没点击中");
}
}
效果图
使代码快速对齐的方法有两种,咱们先看第一种:首先打开代码
如图所示,找到"Source",点击
在弹出的下拉框内,找到"Format",然后点击
然后对比一下,就可以看到代码自动对齐了
还有一种方法是直接使用快捷键“Ctrl+shift+f”,就ok了
返回代码区,然后对比一下,就可以看到代码自动对齐了
Eclipse自动排版快捷键
全部代码排版:Ctrl+Shift+F,选定代码排版:ctrl+I。
Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看他的编程水平。
其实有的java程序员java代码会受到大家的追捧,是因为他在写代码时注意的细节往往多于那些不怎么关注java代码编程细节的程序员,俗话说:“细节决定成败”,那么如何写出好的java代码呢?IT培训介绍一起来讨论下:
1.重视注释
有的java程序员在写代码时,从来没有想过要在java代码后加上相关的注释,甚至是上万行的代码也没有想过加上注释,这就存在很大的问题,不说你的代码会跟其他人分享讨论,就你自己回顾你是怎么写好这篇代码的,你也是半天无法理出头绪,这就为维护和修改等等工作添加了很大的麻烦。所以,要想写出好的java代码,一定从简短的java代码编写开始注重在java代码后面加上相应的注释,养成良好的习惯。
2.重视排版整洁
看很多java程序员的排版总觉得在欣赏一幅艺术品,但是看到一些java程序员的排版却总觉得无力吐槽。同样是编写代码,但是给人的视觉体验是相当的不同,当然好的java代码给人的享受也是美的,所以要想写出好的代码,一定要重视排版整洁。
3.注重命名规则
现在在一个团队开发中,都会提前定制一个统一的命名规则,这样利于提高工作效益。但是很多java程序员是缺乏这个意识的,每次敲代码,更喜欢按照自己惯常的方式老命名模块、函数,这样是方便了自己,但是忽视团队协作,所以在日常工作中,特别是团队工作中一定要重视命名规则。
4.养成备份习惯
备份的重要性不用小编强调,相必你也知道。但是有的java程序员就是没有养成这样的好习惯,每次敲完代码就不记得随手保存,每次等到除了事故,比如电脑出了故障,辛辛苦苦敲打的java代码没保存找不回来的情况下就开始懊恼,与其这样还不如在一开始就养成良好的备份习惯,这样也方便自己日后查找利用。