public class IPTextField extends JTextField{
//0.0.0.0 ~ 255.255.255.255
int min = 7;
public IpTextField(String t){
super(15);
setText(t);
initListeners();
}
public void initListeners(){
addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e) {
int column = getColumns();
int length = getText().length();
if(length>column){
setText(getText().substring(0,column));
JOptionPane.showMessageDialog(IPTextField.this, "IP Format Error :"+column);
return;
}
}
public void keyPressed(KeyEvent e) {}
});
addFocusListener(new FocusListener() {
public void focusLost(FocusEvent e) {
int length = getText().length();
if(min> length) {
JOptionPane.showMessageDialog(IPTextField.this, "Column Minimum Size:"+min);
return;
}
try{
InetAddress.getAllByName(getText());
}catch(Exception e1){
JOptionPane.showMessageDialog(IPTextField.this, e1);
return;
}
}
public void focusGained(FocusEvent e) {}
});
}
}
'Java > Swing' 카테고리의 다른 글
WindowBuilder (0) | 2016.12.16 |
---|---|
JFrame 기본 (0) | 2014.12.08 |