--- /dev/null
+package hayashi.yuu.tools.mail.gui;\r
+\r
+import hayashi.yuu.tools.properties.Properties;\r
+import hayashi.yuu.tools.properties.PropertyCheckItem;\r
+import hayashi.yuu.tools.properties.PropertyFieldItem;\r
+import hayashi.yuu.tools.properties.PropertyItem;\r
+import hayashi.yuu.tools.properties.PropertyPasswordItem;\r
+import hayashi.yuu.tools.mail.SiteData;\r
+\r
+import java.awt.Dimension;\r
+\r
+import javax.swing.BoxLayout;\r
+import javax.swing.JPanel;\r
+\r
+\r
+\r
+/**\r
+ * セットアップフォーム:[]\r
+ * ・メール送信に関する設定\r
+ * (1)アイテム: [ mail.smtp.host : SMPTサーバー ]\r
+ * (2)アイテム: [ mail.smtp.port : SMPTサーバーのポート番号 ]\r
+ * (3)アイテム: [ MAIL_POP : POPサーバー ]\r
+ * (4)アイテム: [ mail.smtp.user : ユーザーID ]\r
+ * (5)アイテム: [ MAIL_PASSWORD : パスワード ]\r
+ * (6)アイテム: [ mail.smtp.auth : SMTP auth 認証 ]\r
+ * (7)アイテム: [ mail.smtp.starttls.enable : STARTTLS ]\r
+ * (8)アイテム: [ MAIL_POP_before_SMTP : POP before SMTP ]\r
+ * (9)アイテム: [ mail.smtp.from ]\r
+ */\r
+@SuppressWarnings("serial")\r
+public class SetupMailServer extends JPanel\r
+{\r
+ public static final int LINE_COUNT = 9;\r
+ public static final int CATEGORY_HEIGHT = PropertyItem.LINE_HEIGHT * LINE_COUNT;\r
+ PropertyFieldItem ismtp; // 'mail.smtp.host' SMTPサーバー\r
+ PropertyFieldItem ismtpPort; // 'mail.smtp.port' SMTPサーバーのポート番号(25)\r
+ PropertyFieldItem iPop; // 'MAIL_POP' POPサーバー\r
+ PropertyFieldItem iuser; // 'mail.smtp.user' ユーザーID\r
+ PropertyPasswordItem ipassword; // 'MAIL_PASSWORD' パスワード\r
+ PropertyCheckItem checkMailSMTPauth; // 'mail.smtp.auth' : SMTP auth 認証\r
+ PropertyCheckItem checkSTARTTLS; // 'mail.smtp.starttls.enable' : STARTTLS\r
+ PropertyCheckItem checkPOPbeforeSMTP; // 'MAIL_POP_before_SMTP : "POP before SMTP'\r
+ PropertyFieldItem iFrom; // 'mail.smtp.from' メール発信元アドレス\r
+ \r
+ public SetupMailServer(Properties prop) {\r
+ super();\r
+\r
+ /*\r
+ * カテゴリの配置\r
+ */\r
+ setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));\r
+\r
+ /*\r
+ * (1)アイテム: [ mail.smtp.host : SMPTサーバー ]\r
+ */\r
+ ismtp = new PropertyFieldItem(prop, "mail.smtp.host", "SMPTサーバー", true);\r
+ add(ismtp);\r
+ ismtp.setBounds(0, PropertyItem.LINE_HEIGHT * 0, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+\r
+ /*\r
+ * (2)アイテム: [ mail.smtp.port : SMPTサーバーのポート番号 ]\r
+ */\r
+ ismtpPort = new PropertyFieldItem(prop, "mail.smtp.port", "ポート番号", true);\r
+ add(ismtpPort);\r
+ ismtpPort.setBounds(0, PropertyItem.LINE_HEIGHT * 1, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+\r
+ /*\r
+ * (3)アイテム: [ MAIL_POP : POPサーバー ]\r
+ */\r
+ iPop = new PropertyFieldItem(prop, "MAIL_POP", "POPサーバー", true);\r
+ add(iPop);\r
+ iPop.setBounds(0, PropertyItem.LINE_HEIGHT * 2, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+\r
+ /*\r
+ * (4)アイテム: [ mail.smtp.user : ユーザーID ]\r
+ */\r
+ iuser = new PropertyFieldItem(prop, "mail.smtp.user", "ユーザーID", true);\r
+ add(iuser);\r
+ iuser.setBounds(0, PropertyItem.LINE_HEIGHT * 3, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+\r
+ /*\r
+ * (5)アイテム: [ MAIL_PASSWORD : パスワード ]\r
+ */\r
+ ipassword = new PropertyPasswordItem(prop, "MAIL_PASSWORD", "パスワード", true);\r
+ add(ipassword);\r
+ ipassword.setBounds(0, PropertyItem.LINE_HEIGHT * 4, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+ \r
+ /*\r
+ * (6)アイテム: [ mail.smtp.auth : SMTP auth 認証 ]\r
+ */\r
+ checkMailSMTPauth = new PropertyCheckItem(prop, "mail.smtp.auth", "SMTP auth 認証", false, true);\r
+ add(checkMailSMTPauth);\r
+ checkMailSMTPauth.setBounds(PropertyItem.ITEM_WIDTH_1, PropertyItem.LINE_HEIGHT * 5, PropertyItem.ITEM_WIDTH_2, PropertyItem.LINE_HEIGHT);\r
+\r
+ /*\r
+ * (7)アイテム: [ mail.smtp.starttls.enable : STARTTLS ]\r
+ */\r
+ checkSTARTTLS = new PropertyCheckItem(prop, "mail.smtp.starttls.enable", "STARTTLS", false, true);\r
+ add(checkSTARTTLS);\r
+ checkSTARTTLS.setBounds(PropertyItem.ITEM_WIDTH_1, PropertyItem.LINE_HEIGHT * 6, PropertyItem.ITEM_WIDTH_2, PropertyItem.LINE_HEIGHT);\r
+\r
+ /*\r
+ * (8)アイテム: [ MAIL_POP_before_SMTP : POP before SMTP ]\r
+ */\r
+ checkPOPbeforeSMTP = new PropertyCheckItem(prop, "MAIL_POP_before_SMTP", "POP before SMTP", false, true);\r
+ add(checkPOPbeforeSMTP);\r
+ checkPOPbeforeSMTP.setBounds(PropertyItem.ITEM_WIDTH_1, PropertyItem.LINE_HEIGHT * 7, PropertyItem.ITEM_WIDTH_2, PropertyItem.LINE_HEIGHT);\r
+ \r
+ /*\r
+ * (9)アイテム: [ mail.smtp.from ]\r
+ */\r
+ iFrom = new PropertyFieldItem(prop, "mail.smtp.from", "発信元アドレス", true);\r
+ add(iFrom);\r
+ iFrom.setBounds(0, PropertyItem.LINE_HEIGHT * 8, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+ \r
+ setPreferredSize(new Dimension(PropertyItem.LINE_WIDTH, CATEGORY_HEIGHT));\r
+ }\r
+ \r
+ public SiteData getSiteData() {\r
+ SiteData data = new SiteData("");\r
+\r
+ /*\r
+ * (1)アイテム: [ MAIL_SMTP : SMPTサーバー ]\r
+ */\r
+ data.MAIL_SMTP = ismtp.getValue();\r
+ \r
+ /*\r
+ * (2)アイテム: [ MAIL_SMTP_PORT : SMPTサーバーのポート番号 ]\r
+ */\r
+ data.MAIL_SMTP_PORT = ismtpPort.getValue();\r
+\r
+ /*\r
+ * (3)アイテム: [ MAIL_POP : POPサーバー ]\r
+ */\r
+ data.MAIL_POP = iPop.getValue();\r
+ \r
+ /*\r
+ * (4)アイテム: [ MAIL_USER_ID : ユーザーID ]\r
+ */\r
+ data.USER_ID = iuser.getValue();\r
+\r
+ /*\r
+ * (5)アイテム: [ MAIL_PASSWORD : パスワード ]\r
+ */\r
+ data.PASSWORD = ipassword.getValue();\r
+ \r
+ /*\r
+ * (6)アイテム: [ mail.smtp.auth : SMTP auth 認証 ]\r
+ */\r
+ data.USER_AUTH = checkMailSMTPauth.isSelected();\r
+\r
+ /*\r
+ * (7)アイテム: [ mail.smtp.starttls.enable : STARTTLS ]\r
+ */\r
+ data.STARTTLS = checkSTARTTLS.isSelected();\r
+\r
+ /*\r
+ * (8)アイテム: [ MAIL_POP_before_SMTP : POP before SMTP ]\r
+ */\r
+ data.POP_before_SMTP = checkPOPbeforeSMTP.isSelected();\r
+ \r
+ /*\r
+ * (9)アイテム: [ MAIL_FROM ]\r
+ */\r
+ data.MAIL_FROM = iFrom.getValue();\r
+ \r
+ return data;\r
+ }\r
+}\r