java swing
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
Swing
ÊÇĿǰ
Java
Öв»¿ÉȱÉٵĴ°¿Ú¹¤¾ß×飬ÊÇÓû§½¨Á¢Í¼Ðλ¯Óû§½çÃæ£¨
GUI
£©³ÌÐòµÄÇ¿´ó¹¤¾ß¡£
Java Swing
×é¼þ×Ô¶¯²úÉú¸÷ÖÖʼþÀ´ÏìÓ¦Óû§ÐÐΪ¡£Èçµ±Óû§µã»÷°´Å¥»òÑ¡Ôñ²Ëµ¥ÏîĿʱ£¬
Swing
×é¼þ»á²úÉúÒ»¸ö
ActionEvent
¡£
Swing
×é¼þ»á²úÉúÐí¶àʼþ£¬Èç
ActionEvents,ChangeEvents,ItemEvents
µÈ£¬À´ÏìÓ¦Óû§µÄÊó±êµã»÷ÐÐΪ£¬Áбí¿òÖÐÖµµÄ¸Ä±ä£¬¼ÆÊ±Æ÷µÄ¿ªÊ¼¼ÆÊ±µÈÐÐΪ¡£ÔÚ
Java Swing
±à³ÌÖУ¬Í¨¹ý
×¢²á¼àÌýÆ÷
£¬ÎÒÃÇ¿ÉÒÔ¼àÌýʼþÔ´²úÉúµÄʼþ£¬´Ó¶øÔÚʼþ´¦Àí³ÌÐòÖд¦ÀíÎÒÃÇËùÐèÒª´¦ÀíµÄÓû§ÐÐΪ¡£
Java Swing
Öд¦Àí¸÷×é¼þʼþµÄÒ»°ã²½ÖèÊÇ£º
1
£®
н¨Ò»¸ö×é¼þ£¨Èç
JButton
£©¡£
2
£®
½«¸Ã×é¼þÌí¼Óµ½ÏàÓ¦µÄÃæ°å£¨Èç
JPanel
£©¡£
3
£®
×¢²á¼àÌýÆ÷ÒÔ¼àÌýʼþÔ´²úÉúµÄʼþ£¨Èçͨ¹ý
ActionListener
À´ÏìÓ¦Óû§µã»÷°´Å¥£©¡£
4
£®
¶¨Òå´¦ÀíʼþµÄ·½·¨£¨ÈçÔÚ
ActionListener
ÖеÄ
actionPerformed
Öж¨ÒåÏàÓ¦·½·¨£©¡£
ÒÔÉϲ½ÖèÎÒÃÇ¿ÉÒÔÓöàÖÖ·½·¨ÊµÏÖ¡£µ«ÈËÃÇͨ³£ÓöþÖÖ·½·¨¡£µÚÒ»ÖÖ·½·¨ÊÇÖ»ÀûÓÃÒ»¸ö¼àÌýÆ÷ÒÔ¼°¶à¸ö
if
Óï¾äÀ´¾ö¶¨ÊÇÄĸö×é¼þ²úÉúµÄʼþ£»µÚ¶þÖÖ·½·¨ÊÇʹÓöà¸öÄÚ²¿ÀàÀ´ÏìÓ¦²»Í¬×é¼þ²úÉúµÄ¸÷ÖÖʼþ£¬Æä¾ßÌåʵÏÖÓÖϸ·ÖΪÁ½ÖÖ·½Ê½£ºÒ»ÖÖÊÇÄäÃûÄÚ²¿À࣬һÖÖÊÇÒ»°ãÄÚ²¿Àà¡£
ΪÁË˵Ã÷ÈçºÎʹÓÃÉÏÊöÈýÖÖ·½·¨ÊµÏÖʼþµÄ´¦Àí·½·¨£¬ÎÒÃǽ¨Á¢Ò»¸ö¼òµ¥µÄÓ¦ÓóÌÐò¡£¸Ã³ÌÐò½çÃæÓÐÁ½¸ö°´Å¥£¬µ±Óû§µã»÷ÏàÓ¦µÄ°´Å¥£¬¾Í»áµ¯³öÒ»¸ö¶Ô»°¿òÏÔʾÏàÓ¦µÄÄÚÈÝ¡£Í¨¹ýÕâ¸ö¼òµ¥µÄ³ÌÐò£¬Äã¿ÉÒÔÁ˽â
Swing
ÖÐÊÂÇé´¦ÀíµÄ»úÖÆ£¬´Ó¶øÊµÏÖ¸ü¶à¡¢¸ü¸´ÔÓµÄÓû§½çÃæ³ÌÐò¡£
Ê×ÏÈ£¬ÎÒÃÇÀûÓõ¥¸ö¼àÌýÆ÷À´ÊµÏָóÌÐò¡£ÎÒÃǶ¨ÒåÒ»¸öÃûΪ
Simple1
µÄÀàÀ´°üÀ¨ËùÓдúÂë¡£ËùÓеÄÓû§ÐÐΪ£¨Èçµã»÷°´Å¥£©ÓÉÒ»¸ö¼àÌýÆ÷
SimpleListenner
ÖеÄ
actionPerformed
·½·¨À´´¦Àí¡£ÒÔÏÂÊÇʵÏÖ´úÂ룺
package
org.leno.swing.demo2;
/*
*
Simple1.java -
´¦ÀíʼþµÄµÚÒ»ÖÖ·½·¨
*
ÔÚÕâ¸öÀý×ÓÖУ¬ÀûÓÃÒ»¸ö
ActionListener
À´¼àÌýʼþÔ´²úÉúµÄʼþ
*
ÓÃһЩ
if
Óï¾äÀ´¾ö¶¨ÊÇÄĸöʼþÔ´
*/
import
java.
Ïà¹ØÎĵµ£º
2. ²»Òª×öÖØ¸´µÄ¹¤×÷¡£
ʹÓó£¼ûµÄ¡¢¾¹ý֤ʵµÄ¿ò¼Ü£¬Èç Apache Struts¡¢JavaServer Faces ºÍ Eclipse RCP¡£Ê¹Óþ¹ý֤ʵµÄģʽ¡£
»Øµ½ÎÒÃÇ¿ªÊ¼°ïÖú¿Í»§Ê¹ÓøճöÏÖµÄ Java EE ±ê×¼µÄʱºò£¬ÎÒÃÇ·¢ÏÖ£¨ºÍÐí¶àÆäËûÈËÒ»Ñù£©£¬Í¨¹ýÖ±½ÓʹÓûù´¡µÄ Servlet ºÍ JSP ¹æ·¶¹¹½¨ UI Ó¦ÓóÌÐòÀ´¿ª·¢Óû§½Ó¿Ú¿ª·¢¿ò¼Ü£¬¿ÉÒÔ¼«´óµØÌḠ......
Java™ÓïÑÔ°üº¬Á½ÖÖÄÚÔÚµÄͬ²½»úÖÆ£ºÍ¬²½¿é£¨»ò·½·¨£©ºÍvolatile±äÁ¿¡£ÕâÁ½ÖÖ»úÖÆµÄÌá³ö¶¼ÊÇΪÁËʵÏÖ´úÂëÏ̵߳ݲȫÐÔ¡£ÆäÖÐvolatile±äÁ¿µÄͬ²½ÐԽϲµ«ÓÐʱËü¸ü¼òµ¥²¢ÇÒ¿ªÏú¸üµÍ£©£¬¶øÇÒÆäʹÓÃÒ²¸üÈÝÒ׳ö´í¡£ÔÚÕâÆÚµÄJavaÀíÂÛÓëʵ¼ùÖУ¬Brian Goetz½«½éÉܼ¸ÖÖÕýȷʹÓÃvolatile±äÁ¿µÄģʽ£¬²¢Õë¶ÔÆäÊÊÓÃÐÔÏÞÖÆÌá³öÒ» ......
public class DeadLock {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final Object resource1 = "resource1";
final Object resource2 = "resource2";
Thread t1 = new Thread(){
public void run(){
syn ......
Ò»¡¢Ê²Ã´ÊÇ·´É䣺
·´ÉäµÄ¸ÅÄîÊÇÓÉSmithÔÚ1982ÄêÊ×´ÎÌá³öµÄ£¬Ö÷ÒªÊÇÖ¸³ÌÐò¿ÉÒÔ·ÃÎÊ¡¢¼ì²âºÍÐÞ¸ÄËü±¾Éí״̬»òÐÐΪµÄÒ»ÖÖÄÜÁ¦¡£ÕâÒ»¸ÅÄîµÄÌá³öºÜ¿ìÒý·¢Á˼ÆËã»ú¿ÆÑ§ÁìÓò¹ØÓÚÓ¦Ó÷´ÉäÐÔµÄÑо¿¡£ËüÊ×Ïȱ»³ÌÐòÓïÑÔµÄÉè¼ÆÁìÓòËù²ÉÓÃ,²¢ÔÚLispºÍÃæÏò¶ÔÏó·½ÃæÈ¡µÃÁ˳ɼ¨¡£ÆäÖÐLEAD/LEAD++ ¡¢OpenC+ ......