📄 timepanel.java
字号:
/*
* Copyright (c) 2006, University of Kent
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 1. Neither the name of the University of Kent nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* 2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED.
*
* 3. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* 4. YOU AGREE THAT THE EXCLUSIONS IN PARAGRAPHS 2 AND 3 ABOVE ARE REASONABLE
* IN THE CIRCUMSTANCES. IN PARTICULAR, YOU ACKNOWLEDGE (1) THAT THIS
* SOFTWARE HAS BEEN MADE AVAILABLE TO YOU FREE OF CHARGE, (2) THAT THIS
* SOFTWARE IS NOT "PRODUCT" QUALITY, BUT HAS BEEN PRODUCED BY A RESEARCH
* GROUP WHO DESIRE TO MAKE THIS SOFTWARE FREELY AVAILABLE TO PEOPLE WHO WISH
* TO USE IT, AND (3) THAT BECAUSE THIS SOFTWARE IS NOT OF "PRODUCT" QUALITY
* IT IS INEVITABLE THAT THERE WILL BE BUGS AND ERRORS, AND POSSIBLY MORE
* SERIOUS FAULTS, IN THIS SOFTWARE.
*
* 5. This license is governed, except to the extent that local laws
* necessarily apply, by the laws of England and Wales.
*/
/*
* TimePanel.java - 10/07/06
*/
package issrg.editor2.timedate;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.util.ResourceBundle;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerListModel;
import javax.swing.SpinnerModel;
import javax.swing.SpinnerNumberModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
/**
*
* @author Christian Azzopardi
*/
public class TimePanel extends JPanel implements ChangeListener
{
private GridBagConstraints constraints;
public JSpinner spinnerHours = null;
public JSpinner spinnerMinutes = null;
public JSpinner spinnerSeconds = null;
private JLabel captionHours;
private JLabel captionMinutes;
private JLabel captionSeconds;
private String time = "";
private String[] hours = { "00", "01", "02", "03", "04", "05", "06", "07",
"08", "09", "10", "11", "12", "13", "14", "15",
"16", "17", "18", "19", "20", "21", "22", "23"};
private String[] minutes = { "00", "01", "02", "03", "04", "05", "06", "07",
"08", "09", "10", "11", "12", "13", "14", "15",
"16", "17", "18", "19", "20", "21", "22", "23",
"24", "25", "26", "27", "28", "29", "30", "31",
"32", "33", "34", "35", "36", "37", "38", "39",
"40", "41", "42", "43", "44", "45", "46", "47",
"48", "49", "50", "51", "52", "53", "54", "55",
"56", "57", "58", "59"};
ResourceBundle rbl = ResourceBundle.getBundle("issrg/editor2/PEComponent_i18n");
String hoursStr = rbl.getString("TimeDatePanel_Hours"); //contains hours
String minutesStr = rbl.getString("TimeDatePanel_Minutes"); //contains minutes
String secondsStr = rbl.getString("TimeDatePanel_Seconds"); //contains seconds
/**
* Creates a new instance of TimePanel
*/
public TimePanel()
{
this.setLayout(new BorderLayout());
this.add(getContentPanel(), BorderLayout.CENTER);
setTime("00:00:00");
}
public JPanel getContentPanel()
{
JPanel timePanel = new JPanel(new FlowLayout());
captionHours = new JLabel(hoursStr);
timePanel.add(captionHours);
//SpinnerNumberModel modelH = new SpinnerNumberModel(0,0,23,1);
SpinnerModel modelH = new SpinnerListModel(hours);
spinnerHours = new JSpinner(modelH);
spinnerHours.addChangeListener(this);
//JSpinner.NumberEditor editorHours = new JSpinner.NumberEditor(spinnerHours);
//spinnerHours.setEditor(editorHours);
timePanel.add(spinnerHours);
captionMinutes = new JLabel(minutesStr);
timePanel.add(captionMinutes);
//SpinnerNumberModel modelM = new SpinnerNumberModel(0,0,59,1);
SpinnerModel modelM = new SpinnerListModel(minutes);
spinnerMinutes = new JSpinner(modelM);
spinnerMinutes.addChangeListener(this);
//JSpinner.NumberEditor editorMinutes = new JSpinner.NumberEditor(spinnerMinutes);
//spinnerMinutes.setEditor(editorMinutes);
timePanel.add(spinnerMinutes);
captionSeconds = new JLabel(secondsStr);
timePanel.add(captionSeconds);
//SpinnerNumberModel modelS = new SpinnerNumberModel(0,0,59,1);
SpinnerModel modelS = new SpinnerListModel(minutes);
spinnerSeconds = new JSpinner(modelS);
spinnerSeconds.addChangeListener(this);
//JSpinner.NumberEditor editorSeconds = new JSpinner.NumberEditor(spinnerSeconds);
//spinnerSeconds.setEditor(editorSeconds);
timePanel.add(spinnerSeconds);
return timePanel;
}
public void stateChanged(ChangeEvent e)
{
setTime(spinnerHours.getValue().toString() + ":" + spinnerMinutes.getValue().toString() + ":" + spinnerSeconds.getValue().toString());
}
public String getTime()
{
return time;
}
public void setTime(String s)
{
time = s;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -