日期:2014-05-20 浏览次数:20953 次
package com.test.oct27; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.GridLayout; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; /** * * * */ public class TAcionEvent extends JApplet { /** * */ private static final long serialVersionUID = 2169662119220746054L; JLabel[] jls; JButton jb; String str; int len; JPanel jp; Container container; /** * @throws HeadlessException */ public TAcionEvent() { init(); addEvent(); } public void init() { jb = new JButton("start"); container = this.getContentPane(); str = "Hello,Swing World !"; len = str.length(); jls = new JLabel[len]; jp = new JPanel(); jp.setLayout(new GridLayout(1, len)); for (int i = 0; i < len; i++) { jls[i] = new JLabel(str.substring(i, i + 1)); jls[i].setForeground(Color.green); jp.add(jls[i]); } container.add(jp); container.add(jb, BorderLayout.SOUTH); } public void addEvent() { jb.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (cmd.equals("start")) { jb.setText("stop"); for (int i = 0; i < len; i++) { jls[i].setForeground(Color.red); delay(); } } else { jb.setText("start"); for (int i = 0; i < len; i++) { jls[i].setText(str.substring(i, i + 1)); jls[i].setForeground(Color.green); } } } }); } public void delay() { for (int i = 0; i < 100000; i++) { for (int j = 0; j < 10000; j++) { } } } /** * @param args */ public static void main(String[] args) { JFrame jf = new JFrame("TAcionEvent"); TAcionEvent te = new TAcionEvent(); jf.getContentPane().add(te); jf.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); jf.setSize(300, 300); jf.setVisible(true); } }
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.font.TextAttribute; import java.text.AttributedString; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; public class Rocks { public static void main(final java.lang.String[] args) { java.awt.EventQueue.invokeLater(new java.lang.Runnable(){ @Override public void run(){ final JFrame frame = new JFrame("Java Rocks"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setPreferredSize(new Dimension(600,400)); final Display display = new Display(); final JButton start = new JButton("Start"); final JButton stop = new JButton("Stop"); JPanel buttons = new JPanel(); buttons.add(start); buttons.add(stop); frame.getContentPane().add(display); frame.getContentPane().add(buttons,BorderLayout.PAGE_END); frame.pack(); frame.setVisible(true); final Timer timer = new Timer(1000,new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ display.start(); } }); start.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ timer.start(); } }); stop.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ timer.stop(); } }); } }); } private static class Display extends JComponent { private AttributedString text = new AttributedString("Hello World!"); private volatile int index = 1; public Display(){ super(); text.addAttribute(TextAttribute.FOREGROUND,Color.GREEN,0,12); text.addAttribute(TextAttribute.SIZE,24,0,12); text.addAttribute(TextAttribute.WEIGHT,TextAttribute.WEIGHT_BOLD); } public void start(){ if (index <= 12) { text.addAttribute(TextAttribute.FOREGROUND,Color.RED,0,index++); } repaint(); } @Override public void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D) g; g.drawString(text.getIterator(), 15, 150); } } }