Skip to content
Snippets Groups Projects
Commit c3df6f4f authored by Junpei Xu's avatar Junpei Xu
Browse files

add a alert message on timestep tab:

when user set focus in the source time lag field, a window pop up to warn "non-negative number"
parent 83411171
No related branches found
No related tags found
No related merge requests found
......@@ -8,9 +8,12 @@ import javax.swing.BoxLayout;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JFormattedTextField.AbstractFormatter;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JWindow;
import javax.swing.border.EmptyBorder;
import javax.swing.text.DefaultFormatter;
import javax.swing.text.DefaultFormatterFactory;
......@@ -19,6 +22,15 @@ import javax.swing.text.InternationalFormatter;
import javax.swing.text.MaskFormatter;
import javax.swing.text.NumberFormatter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.GridLayout;
import java.awt.MouseInfo;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import de.mpg.mpimet.yacgui.xml.CouplingOperation;
//import de.mpg.mpimet.yacgui.xml.Timelag;
import de.mpg.mpimet.yacgui.xml.Timestep;
......@@ -167,9 +179,92 @@ public class TimestepTab extends AbstractTab {
});
sourceTimeLagInputField.setColumns(DEFAULT_COLUMN_NUM);
sourceTimeLagInputField.setHorizontalAlignment(JTextField.RIGHT);
/**
* pop up a window "non-negative number" when user set focus in the field
*/
sourceTimeLagInputField.addFocusListener(new FocusListener() {
JWindow jw =new JWindow();
public void focusGained(FocusEvent e) {
displayMessage("non-negative number", e);
}
public void focusLost(FocusEvent e) {
if(jw!=null)jw.setVisible(false);
}
void displayMessage(String prefix, FocusEvent e) {
if(jw==null){
jw =new JWindow();
JWindow jw =new JWindow();
// TODO Auto-generated method stub
JLabel jwLabel= new JLabel("non-negative number");
jwLabel.setBackground(sourceTimeLagPanel.getBackground());
jw.setLayout(new GridLayout(1,1));
jw.add(jwLabel);
}
jw.setLocation(MouseInfo.getPointerInfo().getLocation().x + 5, MouseInfo.getPointerInfo().getLocation().y + 5);
jw.setAlwaysOnTop(true);
jw.setSize(150, 30);
jw.setVisible(true);
}
});
sourceTimeLagPanel.add(sourceTimeLagInputField);
sourceTimeLagPanel.add(new JLabel(TIMESTEP_UNIT_LABEL));
// sourceTimeLagPanel.addMouseListener(new MouseListener(){
//
// JWindow jw=null;
//
// @Override
// public void mouseExited(MouseEvent e) {
// // TODO Auto-generated method stub
// if(jw!=null)jw.setVisible(false);
// }
//
// @Override
// public void mouseClicked(MouseEvent arg0) {
// // TODO Auto-generated method stub
//
// }
//
// @Override
// public void mousePressed(MouseEvent e) {
// // TODO Auto-generated method stub
//
// }
//
// @Override
// public void mouseReleased(MouseEvent e) {
// // TODO Auto-generated method stub
//
// }
//
// @Override
// public void mouseEntered(MouseEvent e) {
// // TODO Auto-generated method stub
// if(jw==null){
// jw =new JWindow();
// // TODO Auto-generated method stub
// JLabel jwLabel= new JLabel("non-negative number");
// jwLabel.setBackground(sourceTimeLagPanel.getBackground());
// jw.setLayout(new GridLayout(1,1));
// jw.add(jwLabel);
// }
//
// jw.setLocation(MouseInfo.getPointerInfo().getLocation().x, MouseInfo.getPointerInfo().getLocation().y);
// jw.setAlwaysOnTop(true);
// jw.setSize(150, 30);
// jw.setVisible(true);
// }
//
// });
// target lag
JPanel targetTimeLagPanel = new JPanel();
targetTimeLagPanel.add(new JLabel("Target Time Lag: "));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment