package Chapter10;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.*;public class CalendarApp extends JApplet {// Create a CalendarPanel for showing calendarsprivate CalendarPanel calendarPanel = new CalendarPanel();// Combo box for selecting available localesprivate JComboBox jcboLocale = new JComboBox();// Declare locales to store available localesprivate Locale locales[] = Calendar.getAvailableLocales();// Buttons Prior and Next to displaying prior and next monthprivate JButton jbtPrior = new JButton("Prior");private JButton jbtNext = new JButton("Next");/** Initialize the applet */public void init() {// Panel jpLocale to hold the combo box for selecting localesJPanel jpLocale = new JPanel();jpLocale.setBorder(new TitledBorder("Choose a locale"));jpLocale.setLayout(new FlowLayout());jpLocale.add(jcboLocale);// Initialize the combo box to add locale namesfor (int i = 0; i < locales.length; i++)jcboLocale.addItem(locales[i].getDisplayName());// Panel jpButtons to hold buttonsJPanel jpButtons = new JPanel();jpButtons.setLayout(new FlowLayout());jpButtons.add(jbtPrior);jpButtons.add(jbtNext);// Panel jpCalendar to hold calendarPanel and buttonsJPanel jpCalendar = new JPanel();jpCalendar.setLayout(new BorderLayout());jpCalendar.add(calendarPanel, BorderLayout.CENTER);jpCalendar.add(jpButtons, BorderLayout.SOUTH);// Place jpCalendar and jpLocale to the appletadd(jpCalendar, BorderLayout.CENTER);add(jpLocale, BorderLayout.SOUTH);// Register listenersjcboLocale.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {if (e.getSource() == jcboLocale)calendarPanel.changeLocale(locales[jcboLocale.getSelectedIndex()]);}});jbtPrior.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {int currentMonth = calendarPanel.getMonth();if (currentMonth == 1) {calendarPanel.setMonth(12);calendarPanel.setYear(calendarPanel.getYear() - 1);}elsecalendarPanel.setMonth(currentMonth - 1);}});jbtNext.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {int currentMonth = calendarPanel.getMonth();if (currentMonth == 12) {calendarPanel.setMonth(1);calendarPanel.setYear(calendarPanel.getYear() + 1);}elsecalendarPanel.setMonth(currentMonth + 1);}});calendarPanel.changeLocale(locales[jcboLocale.getSelectedIndex()]);}/** Main method */public static void main(String[] args) {// Create a frameJFrame frame = new JFrame("CalendarApp");// Create an instance of the appletCalendarApp applet = new CalendarApp();// Add the applet instance to the frameframe.getContentPane().add(applet, BorderLayout.CENTER);// Invoke init() and start()applet.init();applet.start();// Display the frameframe.pack();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。