GUI �����̳��� �����

 

����


�� ������ GUI �����̳ʸ� ����ϰ� �ִ� GUI ���� �����ϴ� �޼ҵ带 �����մϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �� �ʿ䰡 �ִ�6���� ���������� �ֽ��ϴ�:

*   ���ο� ���� Create ï¿½Ï°Å³ï¿½ �Ǵ� ���� ����  open �Ͻʽÿ�.

*   �� ���� ����, �ð� ���� ��Ҹ� ����

*   ���� ��� �Ӽ��� ����

*   ��ġ ������ ����ϰ� �ִ� �׷� ���� ���

*   ���ο� �Ǵ� ���� �ڵ忡 ������Ҹ� ���ε�  

*   �� �۾��� ����� ���� �ڵ带 ���ϴ�


������� �����ϴ� ���� ����� ��Ÿ���� ��� �� ����� ���� ���� preview ï¿½ï¿½ �� �ֽ��ϴ����̺��� ������ UI ���� ��Ҹ� ����, ����� ���� �� ï¿½Ú¿ï¿½ ������� �׵��� ���� ������ �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ���� �����ߴ����, ����� ���� ������ ����  ï¿½ï¿½ï¿½ï¿½ ���ø����μ� �װ��� ������ �� �ֽ��ϴ�.  ï¿½×°ï¿½ï¿½ï¿½ ���� ���� ������ �ٿ�� ���� ��Ұ� �ִ� UI Ŭ������ ���� ���Ҿ� ���̾�α� �����ӿ�ũ ï¿½ï¿½ï¿½ï¿½ï¿½Ï´ï¿½ ���� �����մϴ�.  ï¿½ï¿½ Ư¡�� �� ���ȿ��� Ŀ���˴ϴ�.


GUI ���� �����ϰ�, ����


Creating a new form: 

 

�켱, IDEA�� GUI ���� �ڹ� Ŭ������ �ƴ� ���� ����Ͻʽÿ�.  ï¿½×µï¿½ï¿½ï¿½ .form Ȯ���ڿ� �Բ� ����� ������Ʈ�� ����� Ư���� XML �����Դϴ�.


����� ���ο� ���� �����ϱ� ����, �ʿ��ϴٸ� ����� ��𿡼� ����� ������Ʈ���� �� ������ ���� ���� ������ �����ϰ� �;��ϴ°� ���մϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �ϳ��� �� �������� ���ø����̼��� ���� ��� ���� �����ϱ�� ������ �� �ֽ��ϴ�. �׷��� �װ��� �׵��� ����� �����ϴ� Ŭ������ ���� ������ �����Ѵٰ� �ǰ��˴ϴ�.

 

�ѹ� ����� �� ������ ��� ���� ������ �����ϸ�,  ����� � ������� IDEA ����� �������̽��� ����� Ŭ������ ������ ���� �޼ҵ�� ���� �����մϴ�. ���� ���,  Project tool window ���� ����� ������ ���� �޴��� ����� �� �ֽ��ϴ�.

Creating a form from a File Template  

���� ���� ���ǿ��� ��޵Ǿ�����, ����� ���� ���ø����μ� � ���̶� ������ �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ������ ���� ������ �Ǵ� ���̾�α׿��� ���Ǵ� ������ �Ϲ������� �ʿ��� ���̾�α� �Ǵ� ��� ������ �� �ֽ��ϴ�.

���� ���ø����μ� GUI ���� �����ϱ� ���ؼ�:

1.  GUI ���� �����ϰų�, GUI �����̳ʿ��� �װ��� ���ϴ�.

2.  ���� �޴� ������, GUI �����̳ʿ��� ������ ���� ���� ���� �� Tools | Save File as Template�� �����Ͻʽÿ�.

���� ���ø��� ������ ���ο� GUI ���� �����ϱ� ���ؼ�:

1.  ������Ʈ ���⿡, ����� ���ο� ���� �����ϰ� �;��ϴ� ������ �����Ͻʽÿ�.

2.  ���� ��带 ������ ��ư�� Ŭ���Ͻʽÿ�.  ï¿½ï¿½ï¿½ï¿½ �޴��� GUI ���� �����ϴ� ��� ���� ���� ���ø��� ���� �׸��� �����մϴ�.

3.  ���ϴ� GUI �� ���ø��� ���� �޴����� �����Ͻʽÿ�. �׸��� ������Ʈ �� �� �װͿ� �̸��� �ֽʽÿ�.


���ο� �� ������ ���õ� ��Ű������ �����ǰ�, ������ ���� GUI �����̳ʿ��� �����ϴ�.

Opening a form for editing: 
  
����� ������ ���� �ҽ� �ڵ峪 �ؽ�Ʈ ������ �� �Ͱ� ���� �޼ҵ�� �� ������ ���ϴ�. ������ �׺���̼� ���⿡�� ������ ��ġ�ϰ� �װ��� �����ؼ� ���� Ŭ���ϰų� Enter�� �����ʽÿ�.

�� ���� �ؽ�Ʈ ���Ͽ� ���� Editor�� ���� ������ ���� �����̽����� ���� �ǿ��� �����ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ���ÿ� ������ �ҽ� �ڵ�/�ؽ�Ʈ ���ϰ� �� ������ ���� �� �ֽ��ϴ�.

���� ��Ҹ� ����, �����ϱ�


����� ���ο� ���� ������ ��, �װ��� XY Layout mode ï¿½ï¿½ï¿½ �ҷ����� ��ġ ���� �����ϴ�.  ï¿½ï¿½ ��忡 ����� ���� ���� ��Ҹ� ���� ��ġ�� �� �ְ�, �׵��� �ű� �� �ְ�, �׵��� ����� ������ �� �ְ�, ���� �Ǵ� ���� Spacers �� �Բ� �׵� ���̿��� �����̽��� ������ �� �ֽ��ϴ�.

����� XY ��ġ ��带 ��Ÿ�� ���̾�α�, �гο��� ��ġ�� �ٻ�� ���� ����� ������ �����ϱ� ���� ����մϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ Å° ����Ʈ�� "�ٻ�"�Դϴ�.  IDEA�� �� ������ �����̳� ������ ��ġ�� ������ ������ ���� ���� ������ ������ ���Դϴ�. ����� �װ��� ���� �ܰ�μ� ��� ���� ��ҿ� ���� ��� �׷� ������ ��Ÿ�� �ڵ带 ���� ���� �����մϴ�.  (�� ���� ���Ŀ� �� �̻�.) ��, ����� � �ð� ���� ��Ҹ� �ʿ�� �ϴ��� ���ϰ�, ��� �ִ� ������ �׵��� ���� �ʿ䰡 �ֽ��ϴ�.

Placing visual components on forms: 

GUI �����̳� ������ ����� �ʿ信 ���� ���� ������ �� �ִ� �� ��Ʈ�� ���� ����� �������̽� ����� �����մϴ�.

����� �׵��� ��-���� �˾��ϱ� ���� �׵��� ������ �Ϳ� ���� ����� ���Ͻ��� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½Ùµï¿½ ��� ���̿��� �Ǵ� Grid Layout mode (���� ���߿� ����)���� ���� ���� ����� �׷� ���̿��� �����̽��� ������ ����� ���� ��ġ�� �� �ִ� ����� ���� Spacers �� �����ϴ�.

 

�ð� ���� ��Ҹ� ���� ��ġ�ϱ� ���Ͽ�:

1.  GUI �����̳� ���� ������ ������ �������� Ŭ���Ͻʽÿ�.

2.  ��  ï¿½Û¾ï¿½ ���� ï¿½ï¿½ï¿½ï¿½ ����� �����͸� �ű�ʽÿ�. ��ȿ�� ��ġ ��ġ�� ���� �� �� �� �������� ������ ����:

3.  ���ϴ� ��ġ�� ���� ��Ҹ� ���� ���� �� �۾� ������ Ŭ���Ͻʽÿ�.


����� ���ٷ� �������� �ʰ� �� ���� ���� ���� ����� ���� �ν��Ͻ��� ���� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ ������ ���� ��Ҹ� �����ϴ� �� ���� Ctrl �� ��� Ŭ���Ͻʽÿ�.  Ctrl�� ��� �ִ� ���� ï¿½ï¿½ï¿½ï¿½ï¿½ ������ �������� ��ҿ� ���ϴ� ���� ����� �� �ν��Ͻ��� ���� �� �۾� ������ �� �� Ŭ���Ͻʽÿ�.  ï¿½ï¿½ï¿½ï¿½ ����� ���� �ν��Ͻ��� ���� ����, Ctrl �� �����ʽÿ�.

����� Ctrl �� ���� ���� �ش´ٸ�, ����� ���� ��� ��ġ ��带 ����ϱ� ���� Esc Å°ï¿½ï¿½ ���� �� �ֽ��ϴ�. (�Ǵ� ���� ������ ���� ȭ��ǥ�� Ŭ���Ͻʽÿ�).



Moving components on a form: 


XY
��ġ ���(��, �׸��忡�� ������ ����)����, ����� �ٶ���� ��� ���� ��Ҵ� �� ������ �� ��ġ�� �� �ֽ��ϴ�.  ï¿½Ï³ï¿½ï¿½ï¿½ ���� ��Ҹ� �ű�� ����, �װ��� �����ϱ� ���� �װ��� Ŭ���ϰ� �ٶ�� ��ġ�� �װ��� �巡�� �Ͻʽÿ�.

 

���� ���� ��Ҹ� �����ϱ� ���ؼ� ����� �������� �ϳ��� �� �� �ֽ��ϴ�:

*   Ctrl�� ���, �� �۾� �������� �� ���� ��Ҹ� Ŭ���մϴ�

*   �� �۾� �������� ���ϴ� ���� ��� ������ �ٿ�� �ڽ��� �巡�� �Ͻʽÿ�

*   ���� ��� Treeview���� ���� ��Ҹ� �����Ͻʽÿ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ������ ���� ��Ҹ� �����ϱ� ���� Shift + Click�� ����ϰų� ������ �� ������ ���� ��Ҹ� �����ϱ� ���� Ctrl + Click�� ����Ͻʽÿ�.

 
"drag handle"
�� ����� �� ������ ���ο� ��ġ�� ���� �� �� �ִ� ���� ǥ���ϰ� �ִ� ���� ��� ��ó�� ��Ÿ���ϴ�.  (���� ����� ���� ���� ���� �� ��ü�� �ڵ��� ������ ���� �ʿ����� �ʽ��ϴ�.)

Deleting components from a form: 

*   �ϳ��� ���� ��Ҹ� �����ϱ� ����, �װ��� �����ϰ� Delete�� �����ʽÿ�(�Ǵ� ���� ������ �������� �������� Ŭ���Ͻʽÿ�).

*   multiple���� ��Ҹ� �ѹ��� �����ϱ� ����, ���� ï¿½ï¿½ï¿½ï¿½ï¿½ �Ϳ� ���� �׵��� ������ �Ŀ� Delete�� �����ʽÿ�.

Undo ï¿½ï¿½ Redo�� GUI �����̳��� ���� ���ۻӸ� �ƴ϶� ���� ������ ���� �۾��մϴ�.




���� ��� �Ӽ��� ����


���� � ���� ��ҵ� �������� �ʰų�, ���õ��� ������ Property Inspector   ������� �� �۾� ���� �Ǵ� ������ ���� ���õ� ���� ��Ҹ� ���� �Ӽ��� ǥ���մϴ�.

 

���� �׸��� ���õ� ��ó�� �ν����ʹ� �Ӽ��� 2 �׷��� �����ϴ�:

���� �׷��� �׸���ó�� ���Դϴ�.  ï¿½ï¿½ �Ӽ��� GUI �����̳�(��, �׵��� �ڹ� �Ǵ� JFC ���� �Ӽ��� �ƴմϴ�)�� Ư���մϴ�.  ï¿½ï¿½ �Ӽ��� �� �� ���� ���� GUI �����̳�-Ư�� �Ӽ� ï¿½ï¿½ Ŀ���մϴ�.


�� �Ʒ� �׷��� �׸��� ���� �ʽ��ϴ�.  ï¿½Ì°ï¿½ï¿½ï¿½ ���õ� ���� ����� �Ӽ��Դϴ�. 2 ������ �Ӽ��� �ֽ��ϴ�: Basic�� Expert

 

������ ������ ����� �Ʒ��� ��Ÿ���� Show Expert Properties Ã¼Å© �ڽ��� ����Ͽ� On/Off ��� �� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ ����� ���� UI ���� ��ҿ� �׵��� �Ӽ��� �������� ������ JFC ���� ���̺귯���� ���� �� ����ũ�νý������� ������ ����Ͻʽÿ�.

 

�� ���� ������ �Ӽ� �����ʹ� ������� Value Ä®ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ��Ÿ���ϴ�:

*   Text field:  ������ ���� Ÿ��.

*   Pick list: ï¿½ï¿½È¿ï¿½ï¿½ ������ ���-�ٿ� �������� ��.

*   Check box: ï¿½Ò¸ï¿½ ���� �Ӽ��� ���� ����ġ.

*   Dialog:  ���̾�α׸� �˾��ϴ� ���� ��ȣ ��ư�� �����մϴ�.

 

In-place editing  

�׷� �Ӽ��� ������ � ���� ����� �ؽ�Ʈ �Ӽ��� �� ���� ������ "��ҿ���" ������ �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ ��Ҹ� �� �۾� ������ ��ġ�ϰ� �� �Ŀ�, ������ �����Ϳ��� �����ϴ� ���� ��Ҹ� ���� Ŭ��(�Ǵ� F2 �����ϴ�)�Ͻʽÿ�.  ï¿½Ø½ï¿½Æ® �Ӽ��� ������ �ִ� ���� ��Ҵ� JLabel, JRadioButton�� JButton�� �����մϴ�.


����JPanel(border.title)�� JTabbedPane�� Ÿ��Ʋ �Ӽ��� ���� ���� ����� ����ϸ鼭 ���ҿ��� ���� �����մϴ�.


����� �ؽ�Ʈ �Ӽ����� ���ϴ� �������� �տ� ���ۼ���(&)�� ���� �Ϳ� ���� �׷� ��ư���μ� ���� ��� ���� ������ ���ڸ� ������ �� �ֽ��ϴ�.


���� ��� �ؽ�Ʈ�� ���� �ڿ� ������ ���


JLabels, JButtons
��� ���� ���� ����� �ؽ�Ʈ �Ӽ��� ����ڸ� ���� ���� ��Ҷ�� �з��ϴ� ���ڿ��� �Է��ϴ� ���� �����ϰ� �մϴ�.  ï¿½Ïºï¿½ ���ø����̼��� ����, �̰��� ���������� �𸨴ϴ�.  ï¿½ï¿½Å¸, ���ø����̼��� �ٸ� �� �����Ǵ� Ư���� ��츦 ���� �װ��� �ڿ� ���鿡�� ���̺� ���ڿ��� ����� �������̽��� �����ϴ� ���� �� �����ϴ�.  ï¿½Ú¿ï¿½ ������ �Ϲ������� �� ���� �����ϰ� �ִ� .properties Ȯ���� �ִ� �ؽ�Ʈ ���ϰ� �׼����� �� �ְ�, UI���� ǥ���� �� �ִ� ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ ���� key=value ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ �����ϴ�.
���� ���, ���� ����� "Your name:" �� �д� JLabel�� ���Ѵٸ� ����� �ڿ� ���� ���Ͽ��� �̰Ͱ� ���� ���� ���������� �𸨴ϴ�: namelabel=Your name: 

GUI �����̳ʴ� ����ڿ� ���ڿ��� ǥ���ϴ� UI ���� ����� �Ӽ����� �ڿ� Ű�� �����ϴ� ���� ���� �մϴ�: ���� ��� �ؽ�Ʈ �Ǵ� ���� �ؽ�Ʈ

 

�ڿ� ������ ����� ������Ʈ�� �ȿ� �̹� �����ؾ߸� �մϴ�. �׸��� ����� ����ϰ� �;��ϴ� Ű/���� �ڿ� ������ �ȿ� �̹� �����ؾ߸� �մϴ�.



����� ���� �׸����� �� �� �ִ� ��ó��, ����� ������ �Ӽ� �����ͷκ��� ������ �ڿ��� ������ �׺����Ʈ �� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ������ �����ϸ�, ����� ��� Å°-�� �ֿ� �װ��� ����� ���õ� UI ���� ��Ҹ� ���� ���̺��� �����ϴ� �ϳ��� �����ϰ�, �����ϴ� ���� ǥ���ϴ� ���̾�α׸� �˾� �� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �ڿ� �� �����ϰ� �� �Ŀ�, ������ ���� ���� GUI �����̳ʿ� ���� �� ���� ��� ���̺��μ� ��Ÿ���� ���� �ֽ��ϴ�:




�׷� ���� ��ҿ� ��ġ ������ ���


����
���� ��޵� �Ϳ� ���� IDEA�� �ڹ��� ��ġ ������ ���⵵���� ����� ���� �����մϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �ٷ� �ʿ䰡 �ִ� 2���� ��ġ ���°� ������ �ֽ��ϴ�:  XY ���¿� �׸��� ����.  XY ���¿�, ���� ��Ҵ� ���Ե��� �ʰ�, ��Ÿ�� ��ġ�� �����ϱ� ���� ������ ��ġ�� �� �ֽ��ϴ�. (�� ���� ��׶��带 ����,  Overview: How it works ï¿½ï¿½ ���ʽÿ�.) ï¿½ï¿½ï¿½ï¿½ï¿½ �׸��� ���¸� �� �̻��� ���� ��ҿ� ������ �� �ֽ��ϴ�.  ï¿½ï¿½ ���¿�, ���� ��Ҵ� �гο� ���ԵǸ鼭 ��Ÿ���ϴ�.  ï¿½×µï¿½ï¿½ï¿½ �� ���� ���������� ����� ����� �� �����ϴ�; �����̳ʰ� ��Ÿ�ӿ� ����� ����� �� �׵��� ������ ��å �Ӽ��� ���� �������� �����մϴ�.


GUI
�����̳��� �ð� ��ġ�� �гΰ� �Բ� ���� ���� ���� ��Ҹ� ��� �׷��ϴ°��� �����̼��� ����ϰ� �ִ� ��� ��ġ�� ��� �����ϴ°��� �����ϴ� �����Դϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ���� �۵���Ű�� �Ϳ� ����, ����� �����ϰ� �ִ� ��� �����ϰ� �;��ص� �����ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ������ �װ��� �����ϰ�, Break Layout (  )�� Ŭ���ϴ� �Ϳ� ���� �׷��� �� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �����ϰ� �ִ� �гο��� ���� ��Ҹ� �� �۾� ������ �׵��� �巡���Ͽ� ���� �� �ֽ��ϴ�.  ï¿½Ç´ï¿½ ����� ���� ��Ҹ� �׸��� ��ġ�� �ִ� ��� ��� �ִ� ���� �巡�� �� �� �ֽ��ϴ�.
 
����� ���� ������ �� �ֱ� ����, �װ��� ��� ���� �гη� "���ο��߸� �մϴ�".  ï¿½ï¿½ï¿½ï¿½ï¿½ ��ġ ������ ��� ���� ������ �����ϰ�, �׸��� ��ġ ����(  )�� �����ϴ� �Ϳ� ���� �̰��� �մϴ�.


�Ƹ� ��ſ��� �� �����ϴ� �۾��� �޼ҵ�� �Բ� ����� �˸��� �ְ��� �޼ҵ�� �ܼ��� ���� ���� �ȴ� �� �Դϴ�.  ï¿½ì¸®ï¿½ï¿½ �Ʒ� �׸��� ��Ÿ���� �ܼ��� ���� ���̾�α׸� �����ϱ� ���� �ܰ踦 ������ �� ���Դϴ�.

����� �׵��� �뷫���� ��Ÿ�� ������� ��ġ�� �þ� �������� ���� ��ҿ� �Բ� XY ���� UI ���� ��Ҹ� �� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½Ì½ï¿½ï¿½ï¿½ï¿½ï¿½ ��� ���Ǵ��� ��Ÿ���ϴ�.

*   ���� ��ư�� �����ʿ��� ���� �����̽����� �׵��� �ؽ�Ʈ �ʵ� �Ʒ��� ��ġ�� ���̰�, �׵��� ���� ���� �Բ� �����߽��ϴ�.

*   ��ư�� ���ʿ��� ���� �����̼��� �׵��� ���� ������ �ܿ� ��ġ�� ���Դϴ�.

*   ���� �����̼��� ��ư�� ���� ��ư �׷쿡 ������ �ʵ��� �� ���Դϴ�.

 

Grouping components: 


�� ���̾�α׿�, ����� �� �гο��� �׷�� ��� ��ư�� ���ϰ� �ٸ� �� �ʿ����� 2���� �ɼ�(����) ��ư�� ���Ѵٰ� �սô�.   ï¿½ï¿½ï¿½ï¿½ ��쿡 ��ġ�� x ���� ���� �ֽ��ϴ�. �׷��� ����� 2 ��ư�� ������ ���̰�, �Ʒ� �׸����� �����, Horizontal ��ġ ������ ������ ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ���Ҿ� ��Ÿ�� �ٿ� ���� ����� �ɼ� ��ư�� �Բ� �̰��� �ݺ��� ���Դϴ�:

Creating a top-level container: 


����� ���� ��Ҹ� ���ϴ� �޼ҵ�� �׷� �� ��, ����� ��� ���� �Ʒ����� �����ִ� �Ͱ� ���� �׸��� ��ġ ������ ����Ͽ� �� ������ �����̳ʷ� "���Դϴ�":

���� � �ϳ��� �� ������ �����̳ʵ� ������ ����� ������ ��� ��ó�� �̰��� Ư�� �̸� ���⸦ ����ϱ� ���� �߿��մϴ�.

Using Preview: 
GUI
�����̳ʴ� ���� ��� ��Ÿ���� �� �� ��� ����� �� �� �ֵ��� ���ִ� Preview ()��ɸ� �����մϴ�. ���� �̸� ���� ���� ������ ��, �ڵ�� �Բ� ���� ������ ��, ����� ��ư, üũ �ڽ�, ���� �ؽ�Ʈ, ������ ���� ���� Ŭ���� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½, � ��ɵ� �� ������ ���� �ʽ��ϴ�.


����� �� �ص� ���� �����ϰ�, �����츦 �Ӽ����� ������ �켱 ġ���� �����ϰ�, �̸� ���⸦ ������ ���� �����ϰ� �ϴ� ���� �����ӿ� �̸� ���� ���� �޴��� �߰��մϴ�:

�ڵ忡 ������Ҹ� ���ε�


����� ���� ��ġ�� �Ϸ�Ǿ�, ���� �� ���� ��Ҹ� �ڵ忡 bind �� �ð��Դϴ�.  ï¿½Úµï¿½ ����, ����� ���� ���� ��������, �׷��� �ƹ��͵� ���� �ʽ��ϴ�.  ï¿½Úµå¿¡ ���ε� �ϴµ� ���õ� 2���� �½�ũ�� �ֽ��ϴ�:

*   ����� ���� class�� ���ε� �ؾ߸� �մϴ�

*   ����� �׼����ϰų�, ���� ����� Ŭ������ �ʵ忡 ���α׷��� ������ �����ϰ� �;��ϴ� �� ���� ��Ҹ� ���ε� �ؾ߸� �մϴ�.

 

����� ���ε��� ������ �� �ִ� 2������ �⺻ �޼ҵ尡 �ֽ��ϴ�:

*   ����� ���� �� ���� ��Ҹ� ���� Ŭ������ ���ε� �� �� �ֽ��ϴ�

*   ����� ���� ���� ��Ҹ� ���� �� ���� ���(�� �Ʒ����� �� ����)�� ������ �Ӽ����� �̸��� �����ϴ� �� ������ ���� �������� �ʴ� Ŭ������ �ʵ忡 ���ε� �� �� �ֽ��ϴ�.

 

������ ���, IDEA�� ����� ���� �۵���Ű�� �Ϳ� ���� ����� ���ο� Ŭ������ ���ο� �ʵ带 �����ϴ� ���� ���� ���� Intention Actions�� �����մϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ��� �ڽ��� �� ������ �����ϰ� �ִ� ���� ���޾Ƶ� �����ϴ�.  ï¿½ï¿½ï¿½ï¿½ ���, ����� UI ���� ��ҿ� �޼ҵ带 ���� �ʵ�� �Բ� �۾��� ���� ���� Ŭ������ �������� �𸨴ϴ�.  ï¿½×·ï¿½ï¿½ï¿½ ����� ���ϴ� �Ϳ� ����, ����� �Ϻ� �ʵ带 ��ġ�� �ִٴ� ���� �˰� �־ ������, �� ������ ���� ��Ҹ� ���� �Ϻθ� �߰��� �ʿ䰡 �־ �����ϴ�.  ï¿½ï¿½ï¿½ ���̵�, ����� ���� �� �� �ְ�, ���ϴ� ���� ��Ҹ� �߰��� �� �ְ�, �׵��� Ŭ������ ���ε� �� �� �ְ�, Ŭ�������� ���� �ʵ忡 Intention Actions�� ����� �� �ֽ��ϴ�.

Binding a form to an existing class

��� ���� ��Ұ� ������ ��, ���� �Ӽ��� ï¿½Î½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ��Ÿ���ϴ�.

 

���� ���� Ŭ������ ���ε��ϱ� ����, bind to class ï¿½Ó¼ï¿½ï¿½ï¿½ ���� ���� �ϳ��� �Ͻʽÿ�:

*   Type the fully qualified name of the class, OR... 
Ŭ������ ���� ���ĵ� �̸��� Ÿ���� �Ͻʽÿ�, �Ǵ� ...

*   ���� ��ȣ ��ư�� Ŭ���մϴ�.  class chooser dialog ï¿½ï¿½ï¿½ï¿½ Ŭ������ �����մϴ�

 

Binding a form to a new class

��� ���� ��Ұ� ������ ��, ���� �Ӽ��� ï¿½Î½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ��Ÿ���ϴ�.

���� �������� �ʴ� Ŭ������ ���ε��ϰ�, ����� �ڰ��� �־����� Ŭ���� �̸��� bind to class ï¿½Ó¼ï¿½ï¿½ï¿½ï¿½ï¿½ ���ε忡 �Է��ϰ�, Enter�� �����ϴ�.  intention action�� ���ǵ� Ŭ����(�Ʒ� �׸��� ���ϴ�)�� �����ϱ� ���ؼ� �˾��մϴ�. ���ǵ� Ŭ���� �����ϴµ� �װ��� �ʿ����� �ʴٰ� �˸��ϴ�. ����� ���� �������� �ʴ� � ���� ���ε� �ϱ� ���Ͽ� GUI �����̳ʷκ��� ������ ������ ���� �� �Դϴ��׷��� ����� �̰��� ���ϴ� ������ �޼ҵ��� ���� �Ƹ��� �˰� �ֽ��ϴ�.

Binding components to fields  : 

���� ��Ҹ� �ʵ忡 ���ε��ϴ� ��:

���� Ŭ������ ���ε��Ǹ�, ����� Ŭ�������� ���� ��Ҹ� �ʵ忡 ����� �ʿ䰡 �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ��� ���� ��Ҹ� ����� �ʿ䰡 ���� �������� �𸨴ϴ�.  ï¿½ï¿½ï¿½ï¿½ ���, ���� ����� JLabel�� ���α׷��� ���� ���� �׼������� ���� ���̶��, �װ��� ����� � �ʿ䵵 ���� �ʽ��ϴ�... �װ��� ��Ÿ���� ���� ������ ��Ÿ�� ���Դϴ�.

���� ��Ҹ� ���ε��ϸ� ���� ���ε��ϴ� �Ͱ� ���� �۵��մϴ�.  ï¿½ï¿½ ���� ��Ҵ� binding ï¿½Ó¼ï¿½ï¿½ï¿½ �����ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �� �̸����� Ÿ���ο� ���� �Ǵ� �ʵ带 binding ï¿½Ó¼ï¿½ ��Ͽ��� ������ �Ϳ� ���� ���� ��Ҹ� ���� �ʵ忡 ���ε� �� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �̹� ������� �ʴ� ���� ��ҿ� ���� Ÿ���� �ʵ带 ǥ���ϱ� ���� ���͸��˴ϴ�.


binding �Ӽ��� ���-�ٿ� ����� ���� ���� ��ҿ� ���� Ÿ���� �ʵ带 ����Ʈ�մϴ�.  ï¿½×·ï¿½ï¿½ï¿½, �� Ÿ���� �������� ���� ����� Ŭ������ ȣȯ���� �ִ� �� �װ��� �ٸ� Ÿ���� �ʵ��� �̸����� Ÿ�Կ� �����մϴ�.



You can bind a component to a nonexistent field by typing a field name in the
 binding  property. As with the form, this triggers and Intention Action that offers to create a new field in the form's class: 
����� �������� �ʴ� �ʵ忡 ���� ��Ҹ� ���ε� �Ӽ����� �ʵ� �̸��� Ÿ�����Ͽ� ����� �� �ֽ��ϴ�.  Ŭ�������� ���ο� �ʵ带 ������ �����ϴ� �� Ʈ���ſ� intention action�� ���� ���� ����:


�� Ŭ������ �ʵ尡 �� ���� ��ҿ� ���ε��� ��, �װ��� Ȩ�뿡�� �� �������� ǥ���մϴ�:

����� ������ �� Ŭ�������� �������� Ŭ���ϴ� �Ϳ� ���� �� ���ϰ� ���� ��ҿ� ���� �׺����Ʈ�� �� �ֽ��ϴ�.  ï¿½ï¿½ ������ ������ ���� �ʿ��ϴٸ� �ڵ������� �����ϴ�.


���� ����� �� ���� ��Ҹ� ���� �ʵ��� �̸��� �����ϱ� ���ؼ�  Rename refactoring �� ����Ѵٸ�,

GUI������ �ٿ�� ��������� ���ε� �Ӽ��� ���� ������Ʈ�˴ϴ�.


���ε� �Ӽ����� ������ ������ �Է½�Ű�� �Ϳ� ���� ���� Ŭ������ ���� ��Ҹ� ���ε��ϴ� ���� �����մϴ�:

*   �Ⱓ�� ����ϰ� �ִ� ��: com.company.Outer.Inner  

*   $�� ����ϰ� �ִ� ��: com.company.Outer$Inner  

 

�� �۾��� ����� �ڵ� ���


����� ���� �������ϰ�, �װͰ� �� ���� ��Ҹ� Ŭ������ ���ε��ϴ� ���� ���´����, ����� ������ ���� �۾��ϵ��� �ϴ� �ٿ�� Ŭ�������� �ڵ带 �� �ʿ䰡 �ֽ��ϴ�. ����� ���� �����츦 �θ��� �ٸ� Ŭ���� �Ǵ� ����� GUI �����̳ʿ� �Բ� �����ߴ� ���̾�α׿� �ڵ带 �� �ʿ䰡 ���� �� �Դϴ�.

GUI
���� �ڵ�� ���Ҿ� ������̰� �ϴ� ���� �⺻���� ���׿� ���ؼ���, ���� ï¿½ï¿½ ��� ������� ���ʽÿ�.

���̾�α� �����ӿ�ũ�� ����


���̾�α� �����ӿ�ũ�� �⺻ ���� ��ҿ� �޼ҵ带 �����ϰ� �ִ� Ŭ������ �����˴ϴ�. �׸��� ���� ��Ұ� �ִ� GUI ���� UI Ŭ������ �ʵ忡 �������ϴ�.  Java ��� ���ϰ�.form ������ ���� ���꿡�� ���� �������� �Բ� �����˴ϴ�.

���̾�α� �����ӿ�ũ�� �����ϱ� ���ؼ�:

1.  ������Ʈ ���⿡, ����� ���̾�α� �����ӿ�ũ�� �����ϰ� �;��ϴ� ������ �����ϰų�, �����Ͻʽÿ�.

2.  ���� ���� ������ ��ư�� Ŭ���ϰ� ���� �޴����� New | Dialog�� �����մϴ�.

3.  ���ο� UI Ŭ������ �̸��� �Է��Ͻʽÿ�

4.  ���̾�α״� Ȯ�ε� �� ������ üũ �ڽ� �ɼ��� �����մϴ�

oUI Ŭ������ �־�� main()�޼ҵ带 �����Ͻʽÿ�

oOK JButton ���� ���(�׻� ���ο� ���̾�α׸� ���� ����Ʈ�� ����)�� ���� �ڵ鷯�� �����Ͻʽÿ�

oCancel JButton ���� ���(����Ʈ�� �׻� ����)�� ���� �ڵ鷯�� �����Ͻʽÿ�


����� ���ϴ� ���ο� ���̾�α׿� ���� �ɼ��� üũ�ϰ� OK�� Ŭ���Ͻʽÿ�.


���ο� Ŭ������ ���� �̸��� �� ���ϰ� �Բ� ���õ� �������� �����ǰ� Ŭ������ �����Ϳ��� �����ϴ�.  ï¿½ï¿½ ������ ������ ���� �ڵ������� ������ �ʽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ GUI �����̳ʿ��� �װͰ� �Բ� �۾��ϰ� �;��� �� �������� ï¿½×°ï¿½ï¿½ï¿½ ���ʽÿ� .