javaでカレンダーを作りたいのですがエラーが出てしまいました。
エラーの内容は
CalendarSystem.java:10: エラー: クラス ControlPanelはpublicであり、ファイルControlPanel.javaで宣言する必要があります
public class ControlPanel extends JPanel{
^
CalendarSystem.java:43: エラー: クラス WeekPanelはpublicであり、ファイルWeekPanel.javaで宣言する必要があります
public class WeekPanel extends JPanel{
^
CalendarSystem.java:61: エラー: クラス CalendarPanelはpublicであり、ファイルCalendarPanel.javaで宣言する必要があります
public class CalendarPanel extends JPanel{
^
CalendarSystem.java:98: エラー: クラス CalendarCellはpublicであり、ファイルCalendarCell.javaで宣言する必要があります
public class CalendarCell extends JPanel{
です。
どうすればよいでしょうか。
ソースコードは
import java.awt.;
import java.awt.event.;
import javax.swing.*;
public class ControlPanel extends JPanel{
private CalendarPanel cp;
public ControlPanel(CalendarPanel cp,int y,int m){
String[] year={ "2016年","2017年","2018年","2019年","2020年", "2021年","2022年","2023年","2024年","2025年" }; String[] month={ "1月","2月","3月","4月","5月","6月", "7月","8月","9月","10月","11月","12月" };
this.cp=cp;
add(new JButton("<<"));
add(new JBuuton("<"));
JComboBox cb;
cb=new JComboBox<String>(year);
cb.setSelectedItem(y+"年");
add(cb);
cb=new JComboBox<String>(month);
cb.setSelectedItem(m+"月");
add(cb);
add(new JButton(">"));
add(new JButton(">>"));
cp.setYearMonth(y,m);
}
}
public class WeekPanel extends JPanel{
public WeekPanel(){
String[] week={ "日","月","火","水","木","金","土" };
setLayout (new GridLayout(1,7,1,1));
for(String s:week){
JLabel l=new JLabel(s,SwingConstructs.CENTER);
if(s.equals("日")) l.setForeground(Color.red);
if(s.equals("土")) l.setForeground(Color.blue);
add(l);
}
}
}
public class CalendarPanel extends JPanel{
private CalendarCell[][] cc;
public CalendarPanel(){
setLayout(new GridLayout(6,7,1,1));
cc=new CalendarCell[6][7];
for(int i=0;i<6;i++)
for(int j=0;j<7;j++)
add(cc[i][j]=new CalendarCell());
}
public void setYearMonth(int y,int m){
Calendar cal=Calendar.getInstance();
cal.set(y,m-1,1);
int dow=cal.get(Calendar.DAY_OF_WEEK);
int d_max=cal.getActualMaximum(Calendar.DATE);
int d=1;
for(int i=0;i<6;i++){
for(int j=0;j<7;j++){
if(i==0 && Calendar.SUNDAY+j<dow)
continue;
if(d>d_max) continue;
cc[i][j].setDate(y,m,d);
d++;
}
}
}
}
public class CalendarCell extends JPanel{
private Calendar date;
public CalendarCell(){
setBackground(Color.white);
setLayout(new FlowLayout(FlowLayout.LEFT));
}
public void setDate(int y,int m,int d){
date=Calendar.getInstance();
date.set(y,m-1,d);
int dow=date.get(Calendar.DAY_OF_WEEK);
JLabel l=new JLabel(""+d);
if(dow==Calendar.SUNDAY) l.setForeground(Color.red);
if(dow==Calendar.SATURDAY) l.setForeground(Color.blue);
add(l);
}
}
public class CalendarSystem extends JFrame implements WindowListener{
public CalendarSystem(){
super("Calendar System SP2");
setSize(600,500);
setLocation(100,100);
addWindowListener(this);
WeekPanel wp=new WeekPanel();
CalendarPanel cp=new CalendarPanel();
JPanel p=new JPanel();
p.setLayout(new BorderLayout());
p.add(wp,BorderLayout.NORTH);
p.add(cp);
add(p);
add(new ControlPanel(cp,2020,6),BoderLayout.NORTH);
}
public void windowOpened(WindowEvent ev){}
public void windowClosing(WindowEvent ev){ dispose(); }
public void windowClosed(WindowEvent ev){}
public void windowActivated(WindowEvent ev){}
public void windowDeactivated(WindowEvent ev){}
public void windowIconified(WindowEvent ev){}
public void windowDeiconified(WindowEvent ev){}
public static void main(String[] args){
(new CalendarSystem()).setVisible(true);
}
}
です。
回答よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/06 16:56