A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

回复 使用道具 举报
很不错。。。。
回复 使用道具 举报
学习
回复 使用道具 举报
好强大,空前绝后。
回复 使用道具 举报
好多!   
回复 使用道具 举报
我一直在想这是怎么做了的。自从学了Java后,我一直在琢磨,能不能有Java来实现。作为到今天为止只学了8天菜鸟,我自然是写不出来的。寻寻觅觅,终于在网上找到了大神写的(原帖: http://www.cnblogs.com/x110/p/4239585.html )。代码如下:(命名为 Rain.java,点击运行即可 )  import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.image.MemoryImageSource; import java.util.Random; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.Timer;  public class Rain extends JDialog implements ActionListener {      private Random random = new Random();     private Dimension screenSize;     private JPanel graphicsPanel;     //行高,列宽     private final static int gap = 20;     //存放雨点顶部的位置信息(marginTop)     private int[] posArr;     //行数     private int lines;     //列数     private int columns;      public Rain() {         initComponents();     }      private void initComponents() {         setLayout(new BorderLayout());         graphicsPanel = new GraphicsPanel();         add(graphicsPanel, BorderLayout.CENTER);         //设置光标不可见         Toolkit defaultToolkit = Toolkit.getDefaultToolkit();         Image image = defaultToolkit.createImage(new MemoryImageSource(0, 0, null, 0, 0));         Cursor invisibleCursor = defaultToolkit.createCustomCursor(image, new Point(0, 0), "cursor");         setCursor(invisibleCursor);         //ESC键退出         KeyPressListener keyPressListener = new KeyPressListener();         this.addKeyListener(keyPressListener);         //this.setAlwaysOnTop(true);         //去标题栏         this.setUndecorated(true);         //全屏         this.getGraphicsConfiguration().getDevice().setFullScreenWindow(this);         this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);         setVisible(true);          screenSize = Toolkit.getDefaultToolkit().getScreenSize();         lines = screenSize.height / gap;         columns = screenSize.width / gap;          posArr = new int[columns + 1];         random = new Random();         for (int i = 0; i < posArr.length; i++) {             posArr = random.nextInt(lines);         }          //每秒10帧         new Timer(100, this).start();     }      /**      * @return 随机字符      */     private char getChr() {         return (char) (random.nextInt(94) + 33);     }      @Override     public void actionPerformed(ActionEvent e) {         graphicsPanel.repaint();     }      private class GraphicsPanel extends JPanel {         @Override         public void paint(Graphics g) {             Graphics2D g2d = (Graphics2D) g;             g2d.setFont(getFont().deriveFont(Font.BOLD));             g2d.setColor(Color.BLACK);             g2d.fillRect(0, 0, screenSize.width, screenSize.height);             //当前列             int currentColumn = 0;             for (int x = 0; x < screenSize.width; x += gap) {                 int endPos = posArr[currentColumn];                 g2d.setColor(Color.CYAN);                 g2d.drawString(String.valueOf(getChr()), x, endPos * gap);                 int cg = 0;                 for (int j = endPos - 15; j < endPos; j++) {                     //颜色渐变                     cg += 20;                     if (cg > 255) {                         cg = 255;                     }                     g2d.setColor(new Color(0, cg, 0));                     g2d.drawString(String.valueOf(getChr()), x, j * gap);                 }                 //每放完一帧,当前列上雨点的位置随机下移1~5行                 posArr[currentColumn] += random.nextInt(5);                 //当雨点位置超过屏幕高度时,重新产生一个随机位置                 if (posArr[currentColumn] * gap > getHeight()) {                     posArr[currentColumn] = random.nextInt(lines);                 }                 currentColumn++;             }         }     }      private class KeyPressListener extends KeyAdapter {         @Override         public void keyPressed(KeyEvent e) {             if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {                 System.exit(0);             }         }     }      public static void main(String[] args) {         new Rain();     } }   (有好多还是看不懂。看来成为大神的路,还有很远。  最后一句,愿大家忠于理想,面对现实!好好努力……  就这样吧,  鞠躬,下台……)
回复 使用道具 举报
学习下安卓版手机开发
回复 使用道具 举报
我要开动了
回复 使用道具 举报
好东西,谢分享
回复 使用道具 举报
...........太多了
回复 使用道具 举报
666666666666666666666666666666666
回复 使用道具 举报
这是真的好东西啊,学习
回复 使用道具 举报
gang 初级黑马 2016-4-22 23:58:16
693#
谢谢楼主,楼主辛苦了
回复 使用道具 举报
AAAheilong 来自手机 中级黑马 2016-4-23 08:50:37
694#
感觉很强大,就像龙入大海!
回复 使用道具 举报
顶顶顶,再顶
回复 使用道具 举报
赞赞赞赞赞赞赞赞,顶顶顶顶顶顶顶顶顶大大大
回复 使用道具 举报
学学学!!!
回复 使用道具 举报
矮油、、非常感谢楼主的分享!支持...
回复 使用道具 举报
{:3_56:}求资源
回复 使用道具 举报
娃娃啊好棒啊1!!W XUYAO
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马