S-JIS[2007-02-04/2009-04-06] �ύX����

JOptionPane�iSwing�j

JOptionPane�́A���b�Z�[�W�{�b�N�X��C���v�b�g�{�b�N�X��\������N���X�B


�P�������b�Z�[�W�o��

	public void MessageBox() {
		//���ł��P���ȃ��b�Z�[�W�o��
		JOptionPane.showMessageDialog(null, "���b�Z�[�W�{��");

		//���^�C�g����t�������b�Z�[�W�o��
		JOptionPane.showMessageDialog(null, "�{��", "�^�C�g��",
			JOptionPane.INFORMATION_MESSAGE);
	}

���Ǝ��̃A�C�R�����w�肷��� [2007-02-10]

���b�Z�[�W�ɂ́A\n�ʼn��s���w��ł���B[2009-03-16]
�܂��A<html>�`</html>�^�O�ň͂ނ��Ƃɂ��AHTML���w�肷�邱�Ƃ��o����B�iJLabel�Ɠ��l�j

����ɁAString�ȊO��Component�iJLabel���j��Icon���w�肷�邱�Ƃ��o����B
���̑��̃I�u�W�F�N�g���w��ł��邪�A���̏ꍇ��toString()�������̂��\�������B


���b�Z�[�W��\�����āA�{�^������

	public void MessageBox() {

		//���͂��E�������E�����
		int rc = JOptionPane.showConfirmDialog(null, "���b�Z�[�W�{��");
		switch (rc) {
		case JOptionPane.OK_OPTION:
		// case JOptionPane.YES_OPTION:
			System.out.println(rc + " OK");break;
		case JOptionPane.NO_OPTION:
			System.out.println(rc + " NO");break;
		case JOptionPane.CANCEL_OPTION:
			System.out.println(rc + " CANCEL");break;
		case JOptionPane.CLOSED_OPTION:
			System.out.println(rc + " �~�{�^��");break;
		default:
			System.out.println(rc + " ����`");break;
		}

		//�������E�����
		rc = JOptionPane.showConfirmDialog(null, "�{��", "�^�C�g��",
			JOptionPane.OK_CANCEL_OPTION);
		System.out.println(rc);

		//�A�C�R�����w�肵�Ă݂�
		rc = JOptionPane.showConfirmDialog(null, "�{��", "�^�C�g��",
			JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
	}

�{�^�����J�X�^�}�C�Y

	public void showMessageBox() {
		String[] button = { "�{�^��1", "�{�^��2", "�{�^��3" };

		int rc = JOptionPane.showOptionDialog(null, "message", "title",
			JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
			null,
			button,
			button[0]);
		switch (rc) {
		case JOptionPane.CLOSED_OPTION:
			System.out.println(rc + " close");break;
		default:
			System.out.println("�{�^��" + (rc + 1));break;
		}
	}

���������

	public void InputBox() {
		String ret = JOptionPane.showInputDialog(null, "���b�Z�[�W");
		if (ret == null) {
			System.out.println("cancel or close");
		} else {
			System.out.println(ret);
		}

		//���e�L�X�g�{�b�N�X�ɏ����l���w��
		ret = JOptionPane.showInputDialog(null, "���b�Z�[�W", "�����e�L�X�g");
		System.out.println(ret);

		//���^�C�g���ƃA�C�R�����w��
		ret = JOptionPane.showInputDialog(null, "���b�Z�[�W", "�^�C�g��", JOptionPane.PLAIN_MESSAGE);
	}

���\�b�h �T�v �l ���l ��
showMessageDialog ���b�Z�[�W��\�� �@ �@ showMessageDialog
���b�Z�[�W�^�C�v
�i�_�C�A���O�ɕ\�������A�C�R���̎�ނ��w��j
PLAIN_MESSAGE �A�C�R������
�Ǝ��A�C�R�����g���ꍇ������
INFORMATION_MESSAGE ���i���j
WARNING_MESSAGE �x���i�I�j
ERROR_MESSAGE �G���[�i�~�j
QUESTION_MESSAGE �N�G�X�`�����i�H�j
showConfirmDialog �m�F�����߂�_�C�A���O��\�� �@ �@ showConfirmDialog
�I�v�V�����^�C�v
�i�_�C�A���O�ɕ\�������{�^���̎�ނ��w��j
DEFAULT_OPTION �u�����v
YES_NO_OPTION �u�͂��v�u�������v
YES_NO_CANCEL_OPTION �u�͂��v�u�������v�u������v
OK_CANCEL_OPTION �u�����v�u������v
�߂�l OK_OPTION
YES_OPTION
����
�͂��i�l�͓����j
NO_OPTION ������
CANCEL_OPTION ������
CLOSED_OPTION �_�C�A���O���‚���ꂽ
showOptionDialog �m�F�����߂�_�C�A���O��\��
�i�{�^�����J�X�^�}�C�Y�ł���j
�@ �@ showOptionDialog
�I�v�V����
�i�g�{�^���ɕ\�����镶����h�̔z����w��j
�@ Object�^������A�A�C�R�����”\�����H
�����l
�i�ŏ��Ƀt�H�[�J�X��������{�^�����w��j
�@ �I�v�V�����̒���1�‚��w��
showInputDialog ���������͂���_�C�A���O��\�� �@ ���͂��ꂽ�����񂪕Ԃ�
�L�����Z�����ꂽ�ꍇ��null
showInputDialog

�E�B���h�E�A�v���ȊO�Ŏg���ꍇ�̒���

��L�̃��\�b�h��static���\�b�h�Ȃ̂ŁASwing���g�����E�B���h�E�A�v���ȊO�ł��i�Ⴆ��main()�֐�����j���ڌĂяo���ă��b�Z�[�W�{�b�N�X��\�����邱�Ƃ��o����B
������JDK1.4�ł́A�����Ȃ��E�B���h�E�iAWT�̃X���b�h�j���c���Ă��܂��������Amain()���I�����Ă��A�v���P�[�V�������̂͏I�����Ȃ��B
�����I��System.exit()���Ă�ŏI��点�Ă��K�v������B
JDK1.5�ȍ~�ł͂��������������Ȃ��Ă������ƏI������B[2007-10-24]


�Ǝ��̃_�C�A���O

�����ƕ��G�ȓ��e�̃_�C�A���O��\������ɂ́AJDialog���g���B[2009-04-06]
�i���ۂ̂Ƃ���AshowMessageDialog()��showConfirmDialog()���ł��A�����ł�JDialog������Ă����\�����Ă���j

�������Ȃ���AshowMessageDialog()��showConfirmDialog()�ł́Amessage��JPanel���̃R���|�[�l���g���w�肷�邱�Ƃ��o����B
������g����OK��CANCEL�Ƃ������{�^�������̂܂܈�����̂ŁA�f��JDialog���g�������֗��B

	public static void showMyDialog() {

		JPanel panel = new JPanel();
		BoxLayout layout = new BoxLayout(panel, BoxLayout.Y_AXIS);
		panel.setLayout(layout);

		panel.add(new JLabel("2�‚̃e�L�X�g���̓G���A�������"));
		JTextField text1 = new JTextField();
		panel.add(text1);
		JTextField text2 = new JTextField();
		panel.add(text2);

		int r = JOptionPane.showConfirmDialog(
			null,				// �I�[�i�[�E�B���h�E
			panel,				// ���b�Z�[�W
			"�^�C�g��",			// �E�B���h�E�^�C�g��
			JOptionPane.OK_CANCEL_OPTION,	// �I�v�V�����i�{�^���̎�ށj
			JOptionPane.QUESTION_MESSAGE);	// ���b�Z�[�W�^�C�v�i�A�C�R���̎�ށj

		System.out.println(r);
		System.out.println(text1.getText());
		System.out.println(text2.getText());
	}

��L�̃_�C�A���O�̖߂�l��OK_OPTION�i0�j��CANCEL_OPTION�i2�j��~�{�^���i-1�j�B
�ǂ̃{�^���ŏI�����Ă��A�_�C�A���O�œ��͂��Ă���text1��text2�̒l�͎擾�ł���B

���������̂������ƁA�f�t�H���g�̃t�H�[�J�X��������̂͐擪�̃{�^���ɂȂ�i�Ǝ�JPanel��̃R���|�[�l���g�łȂ��j�B
showConfirmDialog()�B��static���\�b�h�Ȃ̂ŁA�I�[�o�[���C�h���ēƎ��������s�����Ƃ͏o���Ȃ��c�B


�Ƃ�����ŁAJOptionPane�𒼐ڃR���X�g���N�^�[���琶������΃��\�b�h���I�[�o�[���C�h�ł���悤�ɂȂ�B[2009-04-06]
�{�^���Ƀt�H�[�J�X��^���Ă���̂̓f�t�H���g��selectInitialValue()���\�b�h�Ȃ̂ŁA������Ă΂Ȃ��悤�ɂ���B
���̃��\�b�h�̒��œ��Ƀt�H�[�J�X�̐ݒ���s��Ȃ���΁A���ʂɍ���ɂ�����͉”\�R���|�[�l���g�Ƀt�H�[�J�X��������B

static void showConstructorDialog() {

		JPanel panel = new JPanel();
		�` �p�l���̏������F���� �`

		JOptionPane pane = new JOptionPane(
			panel,				// ���b�Z�[�W
			JOptionPane.QUESTION_MESSAGE,	// ���b�Z�[�W�^�C�v�i�A�C�R���̎�ށj
			JOptionPane.OK_CANCEL_OPTION	// �I�v�V�����i�{�^���̎�ށj
		) {
			private static final long serialVersionUID = 1L;

			@Override
			public void selectInitialValue() {
//				super.selectInitialValue(); //�{�^���Ƀt�H�[�J�X�𓖂Ă�
			}
		};
		JDialog dialog = pane.createDialog(
			null,				// �I�[�i�[�E�B���h�E
			"�^�C�g��");			// �E�B���h�E�^�C�g��
		dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		dialog.setVisible(true);

		Object r = pane.getValue();
		System.out.println(r);
		System.out.println(text1.getText());
		System.out.println(text2.getText());
	}

�_�C�A���O�̖߂�l�i�ǂ̃{�^���ɂ���ďI���������j��JOptionPane#getValue()�ŕ�����B
�E�B���h�E�̉E��́~�{�^���ŏI�������ꍇ��null�B
OK�{�^���̏ꍇ��OK_OPTION�i0�j�A�L�����Z���{�^���Ȃ�CANCEL_OPTION�i2�j�ƂȂ�B�������^��Integer�B

�ǂ̃{�^���ɂ���ďI�����Ă��A�_�C�A���O�œ��͂��Ă���text1��text2�̒l�͎擾�ł���B

�����̂����̏ꍇ�A���̃_�C�A���O��\�������̂��̃v���O�����ł́A�_�C�A���O��‚��Ă��v���O�����I���Ƃ͂Ȃ�Ȃ��iJDK1.6�ł��j�B


Swing�ڎ��֖߂� / Java�ڎ��֖߂� / �V�@�\�֖߂�
���[���̑��M��F�Ђ�����

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@