ロゴ

プログラミング初心者がアプリ開発を目指すブログ

Task追加ボタンの実装(準備編) – Javaでデスクトップトップアプリ(予定&ToDo管理)を作る-022

今回からいよいよTask追加ボタンを実装していきます。
様々なGUI部品から情報を取得していくわけですが、今回は準備編です。

Enumの変更

まずは、簡単な前準備です。
PropertyNameのEnumにSTARTHOUR,STARTMINUTE,FINISHHOUR,FINISHMINUTEを追加します。(これは今までやり忘れてました。。。)

[PropertyName.java]


public enum PropertyName {
  CATEGORY,CONTEXT,STARTYEAR,STARTMONTH,STARTDATE,STARTWEEK,STARTHOUR,STARTMINUTE,WHETHER,
  FINISHYEAR,FINISHMONTH,FINISHDATE,FINISHHOUR,FINISHMINUTE,FINISHWEEK,FINISH;
  
  public String toString(){
    switch(this){
     case CATEGORY:
       return "category";
     case CONTEXT:
       return "context";
     case STARTYEAR:
       return "startYear";
     case STARTMONTH:
         return "startMonth";
     case STARTDATE:
           return "startDate";
     case STARTWEEK:
       return "startWeek";
     case STARTHOUR:
       return "startHour";
     case STARTMINUTE:
         return "startMinute";
     case WHETHER:
       return "whether";
     case FINISHYEAR:
       return "finishYear";
     case FINISHMONTH:
       return "finishMonth";
     case FINISHDATE:
       return "finishDate";
     case FINISHWEEK:
       return "finishWeek";
     case FINISHHOUR:
         return "finishHour";
     case FINISHMINUTE:
         return "finishMinute";
     case FINISH:
       return "finish";
     default:
       System.out.println("Enumにありません");
       return null;
    }
  } 
}

AddModePanelのフィールド変数の変更

次に、AddModePanelのフィールド変数を変更します。
GUIの部品をstaticフィルードにしておきます。

こうすることで、フィールド変数は
「各インスタンスごとにひとつづつ存在する状態」から「AddModePanelにひとつ存在の状態」になり、
他のクラスからアクセスすることができるようになります。
(textField1⇒taskNameField,textFIeld2⇒descriptionFieldに名前を変更します)

[AddModePanel.java]


public class AddModePanel extends JPanel implements ActionListener{
  JPanel panel;
  static JTextField categoryTextField;
  static DefaultComboBoxModel categorymodel;
  static JTextField contextTextField;
  static DefaultComboBoxModel contextmodel;
  static JTextField taskNameField; //textField1から名前変更
  static JTextField descriptionField;//textField2から名前変更
  static JSpinner spinner;
  static JCheckBox ckbox;
  static JComboBox minutecombo; 
  static JComboBox categorycombo; 
  static JComboBox contextcombo;
  static JComboBox hourcombo;
public AddModePanel(){
    /*今までのコード*/	
    AddModePanel.taskNameField=taskNameField; 
    AddModePanel.descriptionField=descriptionField; 
    AddModePanel.spinner=spinner; 
    AddModePanel.ckbox=ckbox; 
    AddModePanel.hourcombo=hourcombo; 
    AddModePanel.minutecombo=minutecombo; 
    AddModePanel.categorycombo=categorycombo; 
    AddModePanel.contextcombo=contextcombo; 
  }
  public JPanel getPanel(){
    return panel;
  }
  public void actionPerformed(ActionEvent e) {
	/*今までのコード*/
  }
}

Mainクラスのフィールド変数の変更

MainクラスにBoxをstatic変数として追加します。こうすることでBoxはプログラム内で唯一の存在になります。

[Main.java]


public class Main {
	public static Box box;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
			Main.box = new Box();
			MainFrame mainframe =new MainFrame("title");
			mainframe.setVisible(true);
	}

}

次回はボタン追加本編です。

アプリ開発記の次の記事はこちら => Task追加ボタンの実装(本編) – Javaでデスクトップトップアプリ(予定&ToDo管理)を作る-023

スポンサード リンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA