Newer
Older
adjustgpx-gui / src / main / java / osm / jp / gpx / matchtime / gui / CardImageFile.java
@haya4 haya4 on 14 Dec 2020 2 KB test
  1. package osm.jp.gpx.matchtime.gui;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Dimension;
  5. import java.awt.Window;
  6. import javax.swing.BoxLayout;
  7. import javax.swing.JLabel;
  8. import javax.swing.JPanel;
  9. import javax.swing.JTabbedPane;
  10.  
  11. import osm.jp.gpx.matchtime.gui.parameters.PanelAction;
  12. import osm.jp.gpx.matchtime.gui.parameters.ParameterPanelImageFile;
  13. import osm.jp.gpx.matchtime.gui.parameters.ParameterPanelTime;
  14.  
  15. import static osm.jp.gpx.matchtime.gui.AdjustTerra.i18n;
  16.  
  17. /**
  18. * [基準画像(開始/終了)]選択パネル
  19. * @author haya4
  20. */
  21. public class CardImageFile extends Card implements PanelAction {
  22. private static final long serialVersionUID = 1L;
  23. ParameterPanelImageFile arg_baseTimeImg;
  24. ParameterPanelTime arg_basetime;
  25. /**
  26. * コンストラクタ
  27. * @param tabbe parent panel
  28. * @param arg_basetime // 開始画像の基準時刻:
  29. * @param owner
  30. * @param text
  31. * @param pre
  32. * @param next
  33. */
  34. public CardImageFile(
  35. JTabbedPane tabbe,
  36. ParameterPanelTime arg_basetime,
  37. Window owner,
  38. String text,
  39. int pre, int next
  40. ) {
  41. super(tabbe, text, pre, next);
  42. arg_basetime.setOwner(owner);
  43. this.arg_baseTimeImg = arg_basetime.getImageFile();
  44. this.arg_basetime = arg_basetime;
  45. JPanel argsPanel = new JPanel();
  46. argsPanel.setLayout(new BoxLayout(argsPanel, BoxLayout.PAGE_AXIS));
  47. argsPanel.add(packLine(new JLabel(i18n.getString("label.200")), new JPanel()));
  48. argsPanel.add(arg_baseTimeImg);
  49. JPanel separater = new JPanel();
  50. separater.setMinimumSize(new Dimension(40, 20));
  51. argsPanel.add(separater);
  52.  
  53. argsPanel.add(packLine(new JLabel(i18n.getString("label.300")), new JPanel()));
  54. argsPanel.add(arg_basetime);
  55. // ラジオボタン: 「EXIF日時を基準にする」
  56. if (arg_basetime.exifBase != null) {
  57. argsPanel.add(arg_basetime.exifBase);
  58. }
  59. // ラジオボタン: 「File更新日時を基準にする」
  60. if (arg_basetime.fupdateBase != null) {
  61. argsPanel.add(arg_basetime.fupdateBase);
  62. }
  63. JPanel space = new JPanel();
  64. space.setMinimumSize(new Dimension(40, 20));
  65. space.setMaximumSize(new Dimension(40, Short.MAX_VALUE));
  66. argsPanel.add(space);
  67. this.mainPanel.add(argsPanel, BorderLayout.CENTER);
  68. }
  69. /**
  70. * 入力条件が満たされているかどうか
  71. * @return
  72. */
  73. @Override
  74. public boolean isEnable() {
  75. return (arg_baseTimeImg.isEnable() && arg_basetime.isEnable());
  76. }
  77. @Override
  78. public void openAction() {
  79. ; // 何もしない
  80. }
  81. }