我的应用程序保存约会并将其显示在多按钮列表上,但我还使用 GUI 构建器创建了一个带有日历的屏幕,因为我想创建一个“日历 View ”,以便用户可以查看日历和:
1- 查看至少突出显示一个约会的每个日期(自定义 UIID)
2- 在每个日历日查看他当天的预约数量以及类(class)日期。
我读到我可以通过覆盖 updateButtonDayDate()
和 createDay()
来做到这一点,但我不知道如何在我的代码中做到这一点。你能给我举个例子吗?
最佳答案
为了覆盖 Calendar 类中的 updateButtonDayDate()
和 createDay()
,您需要创建一个扩展 codenameone 日历的自定义日历(确保您的扩展 com.codename1.ui.calendar
而不是java.util
)。
在创建自定义日历类后,您将必须废弃 GUI 构建器日历并在代码中创建一个日历。检查以下代码后面的使用示例:
import com.codename1.ui.Button;
import com.codename1.ui.Calendar;
import static com.codename1.ui.Component.CENTER;
public class CustomCalendar extends Calendar {
@Override
protected Button createDay() {
//Customize your button here
Button day = new Button();
day.setAlignment(CENTER);
day.setUIID("CalendarDay");
day.setEndsWith3Points(false);
day.setTickerEnabled(false);
return day;
}
@Override
protected void updateButtonDayDate(Button dayButton, int currentMonth, int day) {
//Customize day values
dayButton.setText("" + day);
}
}
要使用它,请根据您的自定义版本声明一个新日历:
CustomCalendar myCalendar = new CustomCalendar();
myContainer.add(myCalendar);
您可以在自定义日历中尝试各种操作,直到找到有效的方法。按住 Ctrl 键并单击“日历”以检查来源并了解可以覆盖哪些内容以及不能覆盖哪些内容。
您甚至可以创建扩展容器的日历版本(尽管不建议)。
关于java - 代号一 - 自定义日历日按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34386818/