更改IP地址的Java程序

时间:2018-08-21 16:29:38

标签: java eclipse windowbuilder

我从事网络工作,试图在连接到不同的VLAN时更轻松地更改笔记本电脑上的IP,网关和网络掩码。 使用Eclipse Neon尝试使用仅带有Jtextfield框的小窗口制作GUI,我可以输入所需的VLAN,该程序将为我更改网络设置。

到目前为止,这是我所能得到的,但我仍然遇到困难,我需要帮助弄清楚如何使用jtextfield 2位数字输入(示例01、02、20)并根据VLAN更改IP,网关和网络掩码输入。 例如,如果用户在jtextfield中输入01,则程序应将IP地址更改为10.1.10.5网关,更改为10.1.1.1,并将网络掩码更改为255.255.255.0

我有多个问题:

  1. 我如何让用户仅在jtextfield中输入2位数字(没有字母)?
  2. 如何将用户输入到jtextfield中并对其进行处理?
package ipchanger;

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Font;
import javax.swing.SwingConstants;
import java.awt.Color;
import java.awt.Dialog.ModalExclusionType;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Changingip {

private JFrame frmVlanChanger;
private JTextField textField;

public static void main(String[] args) {

    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {Changingip window = new Changingip();
                window.frmVlanChanger.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

public Changingip() {
    initialize();
}

private void initialize() {
    frmVlanChanger = new JFrame("Vlan Changer");
    frmVlanChanger.setModalExclusionType(ModalExclusionType.TOOLKIT_EXCLUDE);
    frmVlanChanger.setForeground(Color.BLUE);
    frmVlanChanger.setAlwaysOnTop(true);
    frmVlanChanger.setTitle("          Vlan Changer");
    frmVlanChanger.setResizable(false);
    frmVlanChanger.setBackground(Color.BLACK);
    frmVlanChanger.setBounds(100, 100, 243, 111);
    frmVlanChanger.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frmVlanChanger.getContentPane().setLayout(null);

    JLabel lblVlan = new JLabel("VLAN -->");
    lblVlan.setHorizontalAlignment(SwingConstants.CENTER);
    lblVlan.setFont(new Font("Tahoma", Font.BOLD, 25));
    lblVlan.setBounds(10, 11, 116, 61);
    frmVlanChanger.getContentPane().add(lblVlan);

    textField = new JTextField();
    textField.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
        }
    });
    textField.setHorizontalAlignment(SwingConstants.CENTER);
    textField.setFont(new Font("Tahoma", Font.BOLD, 24));
    textField.setBounds(136, 11, 91, 61);
    frmVlanChanger.getContentPane().add(textField);
    textField.setColumns(2);
}
}

0 个答案:

没有答案