📄 p575_alarm.esw
字号:
Swing = Packages.javax.swing;
JFrame = Swing.JFrame;
JButton = Swing.JButton;
JPanel = Swing.JPanel;
JList = Swing.JList;
JScrollPane = Swing.JScrollPane;
JTextField = Swing.JTextField;
JLabel = Swing.JLabel;
Vector = java.util.Vector;
myModel = Swing.DefaultListModel;
JTimer = Swing.Timer;
JComboBox = Swing.JComboBox;
// Create the panel and its content
var panel = new JPanel();
var alrmlist = new JList(new myModel());
var scrllist = new JScrollPane(alrmlist);
alrmlist.setToolTipText("List of alarm items");
var lbl1 = new JLabel("Time");
var txt1 = new JTextField(5);
var lbl2 = new JLabel("Msg");
var txt2 = new JTextField(20);
var but1 = new JButton("Add");
var panel2 = new JPanel();
panel2.add(lbl1);
panel2.add(txt1);
panel2.add(lbl2);
panel2.add(txt2);
panel2.add(but1);
panel.add(scrllist);
// Now create the frame
var frame = new JFrame("Wrox FESI Reminders");
frame.getContentPane().add("Center", panel);
frame.getContentPane().add("South",panel2);
frame.pack();
frame.setVisible(true);
frame.onWindowClosing = "this.dispose();";
but1.onAction = "addEntry();";
var myTimer = new JTimer(10000,new JComboBox());
myTimer.setDelay(15000);
myTimer.setRepeats(true);
myTimer.onAction = "CheckSchedule();";
myTimer.start();
function addEntry() {
var curTime = 0;
curTime = new Date();
var diffMs = parseInt(txt1.getText()) * 60000;
curTime = new Date(curTime.valueOf() + diffMs);
var textToAdd = curTime.toString() + "-" + txt2.getText() + "-" + Math.round(curTime.valueOf()/1000);
alrmlist.getModel().addElement(textToAdd);
txt1.setText("");
txt2.setText("");
}
function CheckSchedule()
{
// need to bypass serveral date and int related bugs // in FESI, as of 1.1.2 May 8th... parseInt() does not work with very large // numbers that are common when using Date conversions... // the Date.parse() function do not work in general, it is // not known what format it may require // we store smaller integer (seconds) to overcome this problem myTimer.stop(); var cursize = alrmlist.getModel().getSize();
var dateonly;
for (var i=0; i< cursize; i++)
{
tpString = alrmlist.getModel().getElementAt(i);
var ctime = 0;
ctime = new Date();
dateSegs = tpString.split("-");
var tp2 = parseInt(dateSegs[2]);
var mntime = new Date(tp2 * 1000);
if ( ctime.valueOf() >= mntime.valueOf() )
{
alert(dateSegs[1]);
alrmlist.getModel().removeElementAt(i);
break;
}
} // of for
myTimer.restart();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -