2016-11-15 8 views
0

私のappointmentViewWeeksコンストラクタは、他のクラスからパラメータを受け取り、GUIを作成します。 yearmonthの値を知らずに私のmainメソッドから呼び出す方法はありますか?Java - 表示スイングGUI

public class appointmentViewWeeks extends Frame{ 

    public appointmentViewWeeks(String year,String month){ 

     List<LocalDate> mondays = new ArrayList<LocalDate>(); 
     Month m = Month.valueOf(monthIntToString(month).toUpperCase()); 

     LocalDate date = Year.of(Integer.valueOf(year)).atMonth(m).atDay(1). 
      with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); 
     Month mi = date.getMonth(); 
     while (mi == m) { 
      mondays.add(date); 
      date = date.with(TemporalAdjusters.next(DayOfWeek.MONDAY)); 
      mi = date.getMonth(); 
     } 
     String[] mondaysList = mondays.toArray(new String[0]); 

     JComboBox mondayList = new JComboBox(mondaysList); 
     JLabel welcome = new JLabel("Please choose a monday in "+month+"/"+year); 

     Container contentPane = getContentPane(); 
     contentPane.add(mondayList); 
     contentPane.add(welcome); 
    } 

    public String monthIntToString(String month) { 
     return new DateFormatSymbols().getMonths()[Integer.valueOf(month)-1]; 
    } 

    public static void main(String[] args) { 

     //windows feel and look 
     try { 
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
     } catch (ClassNotFoundException | 
      InstantiationException | 
      IllegalAccessException | 
      UnsupportedLookAndFeelException e) { 
       e.printStackTrace(); 
      } 
     appointmentViewWeeks view = new appointmentViewWeeks(); 
     view.setVisible(true); 
    } 
} 
+0

どのような_x_と_y_を使用していますか?画面上の位置?サイズ? – Gulllie

+1

コードを表示して、それがうまくいかないことを正確に説明してください。書かれているように、この質問は明確ではありません。 – nhouser9

+0

私のコードをアップロードしました –

答えて

1

あなたはStringパラメータをすることなく、第2のコンストラクタを追加しない限り、それ(または2つだけStrings)を作成するために、年と月に合格する必要があります。

public appointmentViewWeeks() { 
    //Code to create the object without using the String parameters... 
    //Maybe just call your original constructor with some default values? 
} 

あなたはまた得ることができます現在のコンストラクタで作成してください:

LocalDateTime date = LocalDateTime.now(); 
appointmentViewWeeks view = new appointmentViewWeeks(String.valueOf(date.getYear()), 
                 String.valueOf(date.getMonth())); 
関連する問題