/* * Copyright (C) 2014 たんらる */ package fourthline.mabiicco.ui.mml; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import fourthline.mabiicco.AppResource; import fourthline.mabiicco.IFileState; import fourthline.mmlTools.MMLScore; import javax.swing.JTextField; import javax.swing.JComboBox; public final class MMLScorePropertyPanel extends JPanel { private static final long serialVersionUID = -3976816581383137814L; private JTextField titleField; private JTextField authorField; private JComboBox<String> timeCount; private JComboBox<String> timeBase; public MMLScorePropertyPanel() { initializePanel(); } private void initializePanel() { setBounds(100, 100, 300, 170); setLayout(null); JLabel label1 = new JLabel(AppResource.appText("score_property.name")); label1.setBounds(12, 40, 90, 13); add(label1); JLabel label2 = new JLabel(AppResource.appText("score_property.author")); label2.setBounds(12, 73, 90, 13); add(label2); JLabel label3 = new JLabel(AppResource.appText("score_property.measure")); label3.setBounds(12, 105, 90, 13); add(label3); JLabel label4 = new JLabel("/"); label4.setBounds(198, 105, 15, 13); add(label4); titleField = new JTextField(); titleField.setBounds(125, 37, 152, 19); add(titleField); titleField.setColumns(10); authorField = new JTextField(); authorField.setColumns(10); authorField.setBounds(125, 70, 152, 19); add(authorField); timeCount = new JComboBox<String>(); timeCount.setBounds(125, 102, 63, 19); add(timeCount); timeBase = new JComboBox<String>(); timeBase.setBounds(214, 102, 63, 19); add(timeBase); } @Override public Dimension getPreferredSize() { return new Dimension(300, 170); } private void initialComboBox(String baseTime) { String timeBaseList[] = { "1", "2", "4", "8", "16" }; for (int i = 1; i <= 32; i++) { timeCount.addItem(Integer.toString(i)); } for (String s : timeBaseList) { timeBase.addItem(s); } timeCount.setSelectedItem("4"); timeBase.setSelectedItem("4"); try { String base[] = baseTime.split("/"); timeCount.setSelectedItem(base[0]); timeBase.setSelectedItem(base[1]); } catch (ArrayIndexOutOfBoundsException e) {} } /** * ダイアログを表示する. */ public void showDialog(JFrame parent, MMLScore score, IFileState fileState) { titleField.setText(score.getTitle()); authorField.setText(score.getAuthor()); initialComboBox(score.getBaseTime()); int status = JOptionPane.showConfirmDialog(parent, this, AppResource.appText("score_property"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); if (status == JOptionPane.OK_OPTION) { score.setTitle(titleField.getText()); score.setAuthor(authorField.getText()); String time = timeCount.getSelectedItem()+"/"+timeBase.getSelectedItem(); score.setBaseTime(time); fileState.saveState(); } } }