GUI Designer – ï¿½ï¿½ ��� �����

 

����

�� ������ GUI �����̳��� �� �۾��� �ϱ� ���� �ڵ带 ���� ���ʸ� �����մϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �� �ʿ䰡 �ִ� 3���� ���������� �ֽ��ϴ�:

*   �� Ŭ������ ���� �����ڸ� �����մϴ�

*   �ʵ� ������Ҹ� ���Ͽ� ��� �׷�� �׼��� �����մϴ�

*   ���������� �ʵ�� ���� �����Ϳ� ���ε� �ϴ� ����/���� �޼ҵ带 �����մϴ�

*   ��Ÿ�� �ʱ�ȭ �ڵ带 �����մϴ�


����ȭ�� ����� ���� �ڹ��� UI ���α׷� �ۼ��� ���� �����ΰ� �˰� �ְ�, ����� ����� ����� GUI �����̳ʿ� �Բ� �����ϴ� ���� �߰��ϱ� ���� �ʿ�� �ϴ� ���ʸ� ���Խ�ų ���̶�� �����մϴ�.  ï¿½ï¿½Å¸ï¿½ï¿½ï¿½ï¿½ ���� ���� �����ϴ� ���μ����ϴ� ���� ������ Ŭ������ ���� �ֽ��ϴ�. �׷��� ������ ����� �������̽� ����� �����ϴ� � Ŭ������ ���� �����մϴ�.

form class ï¿½ï¿½ï¿½ï¿½ GUI �����̳� ����  bound ï¿½ï¿½ Ŭ������ �����մϴ�.


 

�� Ŭ������ ���� ������ ����


����� GUI �����̳� �� ������ ��ĥ ��, ����ġ���� ����� �Ʒ� ���� ���õ� ��ó�� Ŭ������ ���� ���� ���� �ʵ忡�� Ŭ������ ���� ���� �� ���� ��ҿ� ���ε��ؾ߸� �մϴ�:

���� �� Ŭ������ �ϳ��� �̹� ������ ������, �װ��� ���� ��� �����ǵ��� �ϱ� ���� �����ڸ� �ʿ��մϴ�.  ï¿½ï¿½ï¿½ï¿½ IDEA�� �̰��� �ϴ� ���� ���� ���ϸ�, Alt + Insert�� ������ Constructor�� �����մϴ�.  ï¿½ï¿½ï¿½ï¿½ �����ڿ��� �ʱ�ȭ�� ���� Ŭ�������� ����� � �ʵ带 ������, ���̾�α׿��� �׵��� �����Ͻʽÿ�. (�����ڸ� �����ϴ� �Ϳ� ���� �� ���� ������ �����ڵ� ���� ï¿½ï¿½ ���ϴ�).


�� ���ϰ� �� Ŭ���� ������ ���� ���� �̸��� ���� ���� �ʿ����� �ʽ��ϴ����� �׵��� �׷��� ������ ����� ������ ���� �ʰ� �� ���Դϴ�. �׷��� �׵鿡�� ���� ���� �̸��� �ִ� ���� ���� �Ծ��� ������ ���Դϴ�.


 

��� �׷�� �׼� ����


Groups  

 

���� ����� �׷����μ� ����� �ʿ䰡 �ִ� �ɼ�(����)��ư�� ���� ���� ��Ҹ� ������, �����ڴ� �׷��� �����ؾ߸� �մϴ�.  ï¿½Æ·ï¿½ ���� �ڵ带 �츮�� ���� �� ������ �� ���� �ɼ� ��ư�� ���� ��ư �׷��� �����ϱ� ���� ǥ���մϴ�:

Actions  


��ư�� ���� ��� �׼��� �����ϴ� ���� ��Ҹ� ���� ����� action listeners ï¿½ï¿½ action events �� �� �ʿ䰡 �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ �����ڿ��� �Ǵ� ����� �����ڸ� ��� ���� �޼ҵ�� �̰��� �� �� �ֽ��ϴ�.  ï¿½Ü¼ï¿½ï¿½ï¿½ ���� ���̾�α��� �츮 ���� �����ڿ��� ���� ��ư�� ���� ���� �����ڿ� ���� �̺�Ʈ�� �����մϴ�:

�����Ϳ� �ʵ� �ٿ�带 ����  ����/���� �޼ҵ带 ����


���� ����� ���ϴ� UI Ŭ�������� ����� �ʵ带 JavaBean Ŭ�������� �Ϻ� �����Ϳ� ���ε��ϰ� �ϸ�, IDEA�� ����� �̰��� ���� �׸��� ��Ȯ�ϰ� �ϴ� ���� ���� Ư����Data Binding Wizard ï¿½ï¿½ �����մϴ�.  GUI �����̳��� Ư¡, ����� UI Ŭ������ �ٿ�� �ϴ�GUI ���� ���� ��ҿ��� ���� UI Ŭ�������� �ʵ忡 ���� getData�� setData �޼ҵ带 �����ϱ� ���� �� �����縦 �̿��� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ ���� bean Ŭ�������� ������ ����� ������ �� �ְų�, �����縦 �̿��Ͽ� ���ο� bean Ŭ������ ������ �� �ֽ��ϴ�.

���� ���, UI Ŭ�������� �ʵ忡 ���� GUI �� ������ ����� �Ϻ� JTextField ���� ��Ҹ� ������ ��� �����Ͻʽÿ�. �׷��� ����� JavaBean Ŭ�������� �Ϻ� �����Ϳ� ���� �׵��� �ؽ�Ʈ �Ӽ��� ���� ���մϴ�.  ï¿½ï¿½ï¿½ï¿½ ����� �ʵ忡 ���� getData�� setData �޼ҵ带 �����ϸ鼭, ��Ȯ�� bean Ŭ������ ���� ���ĵ� �̸��� �����ϵ��� �����ϰ�, �ʿ� ������ ����Ʈ�ϸ鼭 �� �� �ְ�, UI Ŭ������ ������ �� �־����ϴ�.  ï¿½×·ï¿½ï¿½ï¿½, �����縦 ���ε��ϰ� �ִ� �����ʹ� ���� UI Ŭ������ �־�� �޼ҵ带 ���ε��ϰ� �ִ� �����͸� �����ϴ� ���� �� ����� �����մϴ�, ���� ����� ���ο� bean Ŭ������ �ʿ��ϴٸ� �����ϴ� ���� �����ϰ� �մϴ�.

 

������ �Ͻ��� �� ó��, GUI ���� Ŭ������ ���ε�� ���ӿ� Ʋ�������ϴ�. �׸��� GUI ���� ��Ҵ� Data Binding Wizard�� �����ϱ� ���� Ŭ�������� � �ʵ忡 ���ε��� ���ӿ� Ʋ�������ϴ�.



Using the Data Binding Wizard: 


����� ����/���� �޼ҵ带 �����ϰ� �;��ϴ� ���� ��Ҹ� Ȯ���� ��, ������ �Ͻʽÿ�:

1.  GUI �����̳��� ������ �ð� ���� ��Ҹ� �����Ͻʽÿ�.

2.  GUI �����̳� ���� ������, ������ ���ε� �������� �����ϱ� ���� �������� Ŭ���Ͻʽÿ�:

3.  ù ��° ȭ�� ������, ���ο� Bean �Ǵ� ������ Bean�� �����͸� ���ε� �� ������ �����ϰ�, ����� ������ �ɼǿ� ���� Ŭ������ �����Ͻʽÿ�.

4.  ���� ȭ���� ������ ����� �����ϰ� ���� UI Ŭ�������� �ʵ忡 ���ε�Ǿ��� �� ���� ��Ҹ� ����Ʈ�մϴ�. �����ʿ��� �� ���� ��� �̸��� ����� ���� ��Ҹ� ���� ������ �ҽ�/Ÿ�����μ� ���ϴ� bean �Ӽ��� ������ �� �ִ� ���� �ʵ��Դϴ�.

5.  ������ ���ε� ������ �Ϸ��ϱ� ���ؼ� Finish�� �����ϴ�.


����� �����縦 ���� ��, ����� �����翡�Լ� �����ߴ� �ɼǿ� ���� ���� getData�� setData �޼ҵ�� ���� Ŭ������ �����ϴ�.  ï¿½ï¿½ï¿½ï¿½Æ® ������Ʈ��Ʈ�� Ŭ�������� �ʿ��� ��ŭ �����˴ϴ�.  ï¿½ï¿½ï¿½ï¿½ ����� �ڵ带 ����, ����� �Ǽ��ߴٴ� ���� �߰��ϸ�, ����� �� ������ ���·� �ڵ带 ������ ���� Undo�� ����� �� �ֽ��ϴ�.


�ϴ� ���� ��Ұ� �����Ϳ� ���ε� �Ǿ��ٸ�, ����� �����縦 �ٽ� ������ ���ε� �����縦 ȣ���� �� �ֽ��ϴ�. �� ��쿡��, �����  ������ ����� �����ϰų� �ٸ� bean�� ���ε��ϴ� �ɼ��� �ο��޽��ϴ�.  ï¿½ï¿½ï¿½ï¿½ ����� ������ �ɼ��� �����ϸ�, ������� ����� ������ ����� ���� �����ϰų�, bean Ŭ������ �����ϴ� ���� �����ϰ� �մϴ�.  UI Ŭ����(����Ʈ�� �����ϴ� ��)�� ���� �ڵ�� ����� ���ð� ��翡 ���� ����˴ϴ�.


��Ÿ�� �ʱ�ȭ �ڵ� ����


����� �ڵ忡�� ����� �� Ŭ������ �����ϴ� �ڵ带 ���� ���� �ʿ�� �մϴ�.  ï¿½ï¿½ï¿½ï¿½ Ŭ������ ���� ���� Ŭ������ �ִ� �츮 ��������, �츮�� ���� ���� ��Ÿ�� �������� �����߽��ϴ�.  ï¿½×°ï¿½ï¿½ï¿½ �ϴ� ���� �޼ҵ�� �������� ��� �� ó���մϴ�.  ï¿½ì¸®ï¿½ï¿½ ���� ���� ���� ���� �ڸ��� ���α׷����μ� �����ϰ�, �׷��� �� Ŭ������ ��Ÿ�� �������� ������ ��⸦ ó���ϴ�main() �޼ҵ带 �����ϴ�:


�Ϻ� ���ø����̼��� �κ��� ��ȭ ���ڸ� ����, �� GUI �� ��Ÿ�� �ڵ尡 ���ø����̼��� ���� Ŭ������ ���� ���� ���� ���Դϴ�. Ŭ������ ���� ����� �ʿ䰡 �����̴��� ���� ����� �װͿ� �θ� �� �Դϴ�.