java IP地址,端口校验+下拉菜单选框监听事件+模拟QQ发送按钮旁的小箭头功能

本文介绍了一个Java应用程序,该程序实现了IP地址和端口号的验证,并通过下拉菜单选择不同的数据库类型(如Oracle和MySQL)。此外,文章还展示了如何在用户界面上动态更新数据库连接字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java IP地址,端口校验+下拉菜单选框监听事件+模拟QQ发送按钮旁的小箭头功能

分类: 小记 327人阅读 评论(0) 收藏 举报
  1.   
  1. package com.frame;  
  2.   
  3. import java.awt.BorderLayout;  
  4. import javax.swing.text.AttributeSet;  
  5.   
  6. import java.awt.Color;  
  7. import java.awt.Dimension;  
  8. import java.awt.Font;  
  9. import java.awt.Image;  
  10. import java.awt.Label;  
  11. import java.awt.Toolkit;  
  12. import java.awt.event.ActionEvent;  
  13. import java.awt.event.ActionListener;  
  14. import java.awt.event.FocusAdapter;  
  15. import java.awt.event.FocusEvent;  
  16. import java.awt.event.ItemEvent;  
  17. import java.awt.event.ItemListener;  
  18. import java.net.URL;  
  19. import java.text.ParseException;  
  20. import java.util.StringTokenizer;  
  21.   
  22. import javax.swing.BorderFactory;  
  23. import javax.swing.Icon;  
  24. import javax.swing.ImageIcon;  
  25. import javax.swing.InputVerifier;  
  26. import javax.swing.JButton;  
  27. import javax.swing.JComboBox;  
  28. import javax.swing.JComponent;  
  29. import javax.swing.JDialog;  
  30. import javax.swing.JFormattedTextField;  
  31. import javax.swing.JFrame;  
  32. import javax.swing.JLabel;  
  33. import javax.swing.JMenu;  
  34. import javax.swing.JMenuBar;  
  35. import javax.swing.JMenuItem;  
  36. import javax.swing.JOptionPane;  
  37. import javax.swing.JPanel;  
  38. import javax.swing.JPopupMenu;  
  39. import javax.swing.JScrollPane;  
  40. import javax.swing.JSpinner;  
  41. import javax.swing.JTextArea;  
  42. import javax.swing.JTextField;  
  43. import javax.swing.SpinnerModel;  
  44. import javax.swing.SpinnerNumberModel;  
  45. import javax.swing.UIManager;  
  46. import javax.swing.UnsupportedLookAndFeelException;  
  47. import javax.swing.event.ChangeEvent;  
  48. import javax.swing.event.ChangeListener;  
  49. import javax.swing.text.BadLocationException;  
  50. import javax.swing.text.DefaultFormatter;  
  51. import javax.swing.text.DocumentFilter;  
  52.   
  53. //import org.jvnet.substance.skin.SubstanceOfficeSilver2007LookAndFeel;  
  54.   
  55. import com.frame.TextVerifier.PortVerifier;  
  56.   
  57. public class Opertionbak extends JFrame implements ItemListener{  
  58.  private String [] textArray;  
  59.  private JPanel panel;   
  60.  private JPanel panel1; //放置 登陆模块  
  61.  private JMenuItem menuItem_oracle,menuItem_mysql; //添加菜单选项为oracle;  
  62.    
  63.  private JComboBox combox_jdbc;    
  64.  private JTextField text_user,text_pass,text_database;  
  65.  private String  s="jdbc:mysql://localhost:3306";  
  66.  private String sb="jdbc:oracle:thin:@";  
  67.  private String s1,s2,s3,s4,s5;  
  68.  private JButton button_user;          
  69.   
  70.  private JLabel label_welcome,label_ip,label_database,label_pass;  
  71.  private JTextArea text_url; //显示url连接方式  
  72.  private JLabel label_tips,label_tips2,label_tips3;  //提示错误  
  73.  private JPopupMenu menu;  
  74.  private JFormattedTextField text_ip = null;  
  75.  private JFormattedTextField text_port = null;  
  76.    
  77.    
  78.  public Opertionbak(){  
  79.     
  80.       
  81.      menu= new JPopupMenu();  
  82.    text_user= new JTextField();  
  83.    textArray = new String[]{"数据库名字1","数据库名字2","数据库名字3"};  
  84.    for(String s : textArray){  
  85.     JMenuItem item = new JMenuItem(s);  
  86.       
  87.     item.addActionListener(new ActionListener(){  
  88.       public void actionPerformed(ActionEvent e){  
  89.        
  90.                   JMenuItem item = (JMenuItem) e.getSource();  
  91.                   text_user.setText(item.getText());  
  92.                   label_tips.setVisible(false);  
  93.                     
  94.       } });  
  95.     menu.add(item);  
  96.       
  97.    }  
  98.         
  99.     
  100.     
  101.        
  102.        
  103.    panel= new JPanel();  
  104.    panel.setLayout(null);  
  105.          panel.setBounds(00500400);  
  106.            
  107.          this.setTitle("增删改查功能实现");  
  108.          this.setBounds(100100500400);  
  109.   
  110.          init();  
  111.          this.add(panel,BorderLayout.CENTER);  
  112.          this.setLocationRelativeTo(null);  
  113.          this.setResizable(false);  
  114.          this.setVisible(true);  
  115.            
  116.          //为点击添加关闭事件  
  117.          this.addWindowListener(new java.awt.event.WindowAdapter() {  
  118.          public void windowClosing(java.awt.event.WindowEvent e){  
  119.           System.exit(0);  
  120.          }   
  121.          });      
  122.  }  
  123.  //返回URL 地址  
  124.  public URL getRes(String str){     
  125.         return this.getClass().getClassLoader().getResource(str);     
  126.    }   
  127.    
  128.     
  129.  private void init(){  
  130.   panel1 = new JPanel();  
  131.   panel1.setLayout(null);  
  132.   JLabel label_jdbc = new JLabel("选择数据库类型:");  
  133.   label_jdbc.setFont(new Font("黑体",Font.PLAIN,15));  
  134.   combox_jdbc = new JComboBox();  
  135.    
  136.       
  137.   combox_jdbc.setEditable(false);  
  138.        
  139.   combox_jdbc.addItem("Oracle数据库");  
  140.   combox_jdbc.addItem("MySql数据库");  
  141.     
  142.     
  143.     
  144.     
  145.   label_jdbc.setBounds(81212030);  
  146.   combox_jdbc.setBounds(904010025);  
  147.     
  148.   JLabel label_tip = new JLabel();  
  149.   //label_tip.setIcon(new ImageIcon(getRes("com/pccw/image/tip.jpg")));  
  150.     
  151.   //label_tip.setBounds(5, 170, 55, 45);  
  152.     
  153.     
  154.   JLabel label_bottom = new JLabel();  
  155.   //label_bottom.setIcon(new ImageIcon(getRes("com/pccw/image/back.jpg")));  
  156.   label_welcome = new JLabel("欢迎使用!!");  
  157.   label_bottom.setBounds(10245140100);  
  158.   label_welcome.setBounds(10023012030);  
  159.     
  160.   JLabel label_user = new JLabel("用户名:");  
  161.   label_user.setBounds(10155025);  
  162.    
  163.   
  164.       
  165.   text_user.addFocusListener(new FocusAdapter(){  
  166.           
  167.    public void focusLost(final FocusEvent e){  
  168.     if(text_user.getText().equals("")){  
  169.      label_tips.setVisible(true);  
  170.      label_tips.setText("用户没有填写");  
  171.     }else{  
  172.      //sb.append(sb+s1+s2);  
  173.      label_tips.setVisible(false);  
  174.      //text_url.setText(sb.toString());  
  175.        
  176.     }  
  177.    }  
  178.   });  
  179.         
  180.     
  181.   text_user.setBounds(701514025);  
  182.   button_user= new JButton("...");  
  183.    
  184.     
  185.     
  186.   button_user.addActionListener(new ActionListener(){  
  187.     public void actionPerformed(ActionEvent e){  
  188.      if(e.getSource()==button_user){  
  189.         
  190.       menu.show(button_user,0,button_user.getHeight());  
  191.    }  
  192.                else{  
  193.                 JMenuItem item = (JMenuItem) e.getSource();  
  194.                 text_user.setText(item.getText());  
  195.                }  
  196.                  
  197.        
  198.     }   
  199.    });  
  200.   button_user.setBounds(245152525);  
  201.     
  202.     
  203.   JLabel label_pass = new JLabel("口  令:");  
  204.   text_pass = new JTextField();  
  205.   label_pass.setBounds(10555025);  
  206.   text_pass.setBounds(705514025);  
  207.   text_pass.addFocusListener(new FocusAdapter(){  
  208.      
  209.    public void focusLost(final FocusEvent e){  
  210.     if(text_pass.getText().equals("")){  
  211.      label_tips2.setVisible(true);  
  212.      label_tips2.setText("密码没有填写");  
  213.     }  
  214.     else{  
  215.      label_tips2.setVisible(false);  
  216.     }  
  217.    }  
  218.   });  
  219.     
  220.     
  221.   label_tips=new JLabel();  
  222.   label_tips2=new JLabel();  
  223.   label_tips3=new JLabel();  
  224.      label_tips.setBounds(100408012);  
  225.     label_tips2.setBounds(100808012);  
  226.     label_tips3.setBounds(15010510012);  
  227.        
  228.   JLabel label_database = new JLabel("数据库:");  
  229.   text_database = new JTextField();  
  230.   label_database.setBounds(10955025);  
  231.   text_database.setBounds(70957025);  
  232.   text_database.addFocusListener(new FocusAdapter(){  
  233.      
  234.    public void focusLost(final FocusEvent e){  
  235.     if(text_database.getText().equals("")){  
  236.      label_tips3.setVisible(true);  
  237.      label_tips3.setText("数据库没有填写");  
  238.        
  239.        
  240.     }  
  241.     else{  
  242.      String database;  
  243.      label_tips3.setVisible(false);  
  244.      String s1=text_ip.getText().toString();  
  245.      String s2=text_port.getText().toString();  
  246.      String s3=text_database.getText().toString();  
  247.      database="jdbc:oracle:thin:@"+s1+":"+s2+":"+s3;  
  248.      text_url.setText(database);  
  249.        
  250.     }  
  251.    }  
  252.   });  
  253.     
  254.     
  255.   JLabel label_ip = new JLabel("I  P:");  
  256.     
  257.     
  258.     // IP地址文本域的校验  
  259.       
  260.   class IPAddressVerifier extends InputVerifier {  
  261.   
  262.     private boolean b = false;  
  263.     public boolean verify(JComponent component) {  
  264.      // TODO Auto-generated method stub  
  265.      JFormattedTextField field = (JFormattedTextField) component;  
  266.      b = field.isEditValid();  
  267.      System.out.println(b);  
  268.      if (b == false) {  
  269.       String opt = new String("确定");  
  270.   
  271.       Object[] options = { "确定" };  
  272.       JOptionPane.showOptionDialog(null"IP地址输入有误请重新输入""警告",  
  273.         JOptionPane.DEFAULT_OPTION,  
  274.         JOptionPane.WARNING_MESSAGE, null, options, options[0]);  
  275.       field.setText(null);  
  276.      }  
  277.      return field.isEditValid();  
  278.     }  
  279.   
  280.     
  281.   
  282.    }  
  283.     
  284.   
  285.     
  286.      
  287.     //IP地址校验  
  288.       
  289. class IPAddressFormatter extends DefaultFormatter {  
  290.   
  291.     public String valueToString(Object value) throws ParseException {  
  292.      if (!(value instanceof byte[])) {  
  293.       throw new ParseException("Not a byte[]"0);  
  294.      }  
  295.      byte[] a = (byte[]) value;  
  296.      if (a.length != 4)  
  297.       throw new ParseException("Length!=4"0);  
  298.      StringBuilder builder = new StringBuilder();  
  299.      for (int i = 0; i < 4; i++) {  
  300.       int b = a[i];  
  301.       if (b < 0)  
  302.        b += 256;  
  303.       builder.append(String.valueOf(b));  
  304.       if (i < 3)  
  305.        builder.append('.');  
  306.      }  
  307.      return builder.toString();  
  308.     }  
  309.   
  310.     public Object stringToValue(String text) throws ParseException {  
  311.      StringTokenizer tokenizer = new StringTokenizer(text, ".");  
  312.      byte[] a = new byte[4];  
  313.      for (int i = 0; i < 4; i++) {  
  314.       int b = 0;  
  315.       if (!tokenizer.hasMoreElements()) {  
  316.        System.out.println("few");  
  317.        throw new ParseException("Too few bytes"0);  
  318.       }  
  319.       try {  
  320.        b = Integer.parseInt(tokenizer.nextToken());  
  321.       } catch (NumberFormatException e) {  
  322.        throw new ParseException("Not an integer"0);  
  323.       }  
  324.       if (b < 0 || b >= 256)  
  325.        throw new ParseException("Byte out of range"0);  
  326.       a[i] = (byte) b;  
  327.      }  
  328.      if (tokenizer.hasMoreElements())  
  329.       throw new ParseException("Too many bytes"0);  
  330.      return a;  
  331.     }  
  332.    }  
  333.      text_ip = new JFormattedTextField(new IPAddressFormatter());  
  334.      text_ip.setInputVerifier(new IPAddressVerifier());  
  335.      text_ip.setValue(new byte[] { (byte10, (byte8766, (byte30 });  
  336.      label_ip.setBounds(101354025);  
  337.   text_ip.setBounds(5513510025);  
  338.   text_ip.addFocusListener(new FocusAdapter(){  
  339.      
  340.    public void focusLost(final FocusEvent e){  
  341.     if(text_ip.getText().equals("")){  
  342.      label_tips3.setVisible(true);  
  343.      label_tips3.setText("IP没有填写");  
  344.        
  345.        
  346.     }  
  347.     else{  
  348.      String sbr;  
  349.      label_tips3.setVisible(false);  
  350.        
  351.      String s1=text_ip.getText().toString();  
  352.      String s2=text_port.getText().toString();  
  353.      String s3=text_database.getText().toString();  
  354.      sbr="jdbc:oracle:thin:@"+s1+":"+s2+":"+s3;  
  355.        
  356.        
  357.        
  358.      text_url.setText(sbr);  
  359.        
  360.     }  
  361.    }  
  362.   });  
  363.     
  364.     
  365.    //  端口校验  
  366.       
  367.    class PortFilter extends DocumentFilter {  
  368.     public void replace(FilterBypass fb, int offset, int length,  
  369.        String string, AttributeSet attr) throws BadLocationException {  
  370.       System.out.println("replace");  
  371.       if (string != null) {  
  372.        StringBuilder builder = new StringBuilder(string);  
  373.        for (int i = builder.length() - 1; i >= 0; i--) {  
  374.         int cp = builder.codePointAt(i);  
  375.         if (!Character.isDigit(cp)) {  
  376.          builder.deleteCharAt(i);  
  377.          if (Character.isSupplementaryCodePoint(cp)) {  
  378.           i--;  
  379.           builder.deleteCharAt(i);  
  380.          }  
  381.         }  
  382.        }  
  383.        string = builder.toString();  
  384.       }  
  385.       super.replace(fb, offset, length, string, attr);  
  386.      }  
  387.     }  
  388.    class PortVerifier extends InputVerifier {  
  389.   
  390.      private boolean b = false;  
  391.   
  392.      @Override  
  393.      public boolean verify(JComponent component) {  
  394.       // TODO Auto-generated method stub  
  395.       JFormattedTextField field = (JFormattedTextField) component;  
  396.       b = field.isEditValid();  
  397.       if (b == true) {  
  398.        try {  
  399.         int n = Integer.parseInt(field.getText());  
  400.         if (n < 1024 || n > 65535) {  
  401.          Object[] options = { "确定" };  
  402.          JOptionPane.showOptionDialog(null,  
  403.            "端口必须在1024-65535之间,请重新输入!""Warning",  
  404.            JOptionPane.DEFAULT_OPTION,  
  405.            JOptionPane.WARNING_MESSAGE, null, options,  
  406.            options[0]);  
  407.          field.setText("");  
  408.          b = false;  
  409.         }  
  410.        } catch (NumberFormatException e) {  
  411.   
  412.         // 如果输入的字符串在转换为整数时超出整数范围由此异常处理  
  413.         Object[] options = { "确定" };  
  414.         JOptionPane.showOptionDialog(null,  
  415.           "端口必须在1024-65535之间,请重新输入!""Warning",  
  416.           JOptionPane.DEFAULT_OPTION,  
  417.           JOptionPane.WARNING_MESSAGE, null, options,  
  418.           options[0]);  
  419.         field.setText("");  
  420.         b = false;  
  421.        }  
  422.       }  
  423.   
  424.       return b;  
  425.      }  
  426.     }  
  427.    JLabel label_port = new JLabel("端 口:");  
  428.    label_port.setBounds(1651354025);  
  429.    
  430.    
  431.    
  432.   text_port = new JFormattedTextField(new DefaultFormatter() {  
  433.     private DocumentFilter filter = new PortFilter();  
  434.   
  435.     protected DocumentFilter getDocumentFilter() {  
  436.      return filter;  
  437.     }  
  438.    });  
  439.   text_port.setBounds(2051356025);  
  440.   text_port.setText("1521");   
  441.   text_port.setInputVerifier(new PortVerifier());  
  442.   text_port.setEditable(true);  
  443.   text_port.addFocusListener(new FocusAdapter(){  
  444.     
  445.   public void focusLost(final FocusEvent e){  
  446.    String sbrt;  
  447.       String s1=text_ip.getText().toString();  
  448.    String s2=text_port.getText().toString();  
  449.    String s3=text_database.getText().toString();  
  450.    sbrt="jdbc:oracle:thin:@"+s1+":"+s2+":"+s3;  
  451.    text_url.setText(sbrt);  
  452.   }  
  453.  });  
  454.    
  455.     
  456.   JLabel label_url1 = new JLabel("URL连接方式:");  
  457.   label_url1.setFont(new Font("宋体",Font.PLAIN,12));  
  458.   text_url = new JTextArea(sb);  
  459.   text_url.setLineWrap(true);  
  460.   JScrollPane scrollpane = new JScrollPane(text_url);  
  461.   label_url1.setBounds(2017514025);  
  462.   scrollpane.setBounds(10018016560);  
  463.   //为两个菜单项添加响应事件  
  464.   combox_jdbc.addItemListener(this);    
  465.     
  466.   //把用户名等添加到panel1面板中  
  467.     
  468.   panel1.add(label_port);  
  469.   panel1.add(label_tips);  
  470.   panel1.add(label_tips2);  
  471.   panel1.add(label_tips3);  
  472.   panel1.add(label_url1);  
  473.   panel1.add(scrollpane);  
  474.   panel1.add(label_ip);  
  475.   panel1.add(text_ip);  
  476.   panel1.add(text_port);  
  477.   panel1.add(label_port);  
  478.   panel1.add(text_database);  
  479.   panel1.add(label_database);  
  480.   panel1.add(label_pass);  
  481.   panel1.add(text_pass);  
  482.   panel1.add(button_user);  
  483.   panel1.add(label_user);  
  484.   panel1.add(text_user);  
  485.   panel.add(menu);  
  486.   //panel.add(text_url);  
  487.     
  488.   JButton button_tail=new JButton("设置");  
  489.   button_tail.setBounds(1903005020);  
  490.   JButton button_reset=new JButton("重置");  
  491.   button_reset.setBounds(2503005020);  
  492.   JButton button_cummit=new JButton("提交");  
  493.   button_cummit.setBounds(3103005020);  
  494.     
  495.   //点击设置按钮跳转到详细设置页面  
  496.   button_tail.addActionListener(new ActionListener(){  
  497.   
  498.    public void actionPerformed(ActionEvent e) {  
  499.     new Detail();  
  500.       
  501.    }  
  502.         
  503.      });  
  504.     
  505.   //点击提交按钮事件  
  506.    button_cummit.addActionListener(new ActionListener(){  
  507.     public void actionPerformed(ActionEvent e){  
  508.        
  509.     }   
  510.    });  
  511.     
  512.   //点击重置按钮数据项清空  
  513.   button_reset.addActionListener(new ActionListener(){  
  514.   
  515.    public void actionPerformed(ActionEvent e) {  
  516.       
  517.     label_welcome.setText("重置信息!!");  
  518.     text_user.setText("");  
  519.     text_pass.setText("");  
  520.    }  
  521.      
  522.   });  
  523.     
  524.     
  525.     
  526.   panel1.setBounds(20015280255);  
  527.   panel1.setBorder(BorderFactory.createEtchedBorder());  
  528.   panel1.setVisible(true);  
  529.     
  530.    
  531.    
  532.   panel.add(button_tail);  
  533.   panel.add(button_reset);  
  534.   panel.add(button_cummit);  
  535.   panel.add(panel1);  
  536.   panel.add(label_welcome);  
  537.    
  538.    
  539.   panel.add(combox_jdbc);  
  540.   panel.setVisible(true);  
  541.  }  
  542.    
  543.    public static void main(String[] args) {     
  544.          JFrame.setDefaultLookAndFeelDecorated(true);   
  545.          JDialog.setDefaultLookAndFeelDecorated(true);  
  546.          try {     
  547.              UIManager.setLookAndFeel(new SubstanceOfficeSilver2007LookAndFeel());    
  548.          } catch (UnsupportedLookAndFeelException e) {     
  549.              e.printStackTrace();     
  550.          }     
  551.            
  552.          new Opertionbak();  
  553.          
  554.      }  
  555.     
  556.  @Override  
  557.  public void itemStateChanged(ItemEvent e) {  
  558.   if(e.getStateChange()==ItemEvent.SELECTED){  
  559.    if(e.getItem().toString().equals("Oracle数据库")){  
  560.    text_port.setText("1521");  
  561.    text_url.setText(sb);  
  562.      
  563.    //System.out.println("sssssssssssss");  
  564.    text_database.addFocusListener(new FocusAdapter(){  
  565.       
  566.     public void focusLost(final FocusEvent e){  
  567.      if(text_database.getText().equals("")){  
  568.       label_tips3.setVisible(true);  
  569.       label_tips3.setText("数据库没有填写");  
  570.         
  571.         
  572.      }  
  573.      else{  
  574.       String database;  
  575.       label_tips3.setVisible(false);  
  576.       String s1=text_ip.getText().toString();  
  577.       String s2=text_port.getText().toString();  
  578.       String s3=text_database.getText().toString();  
  579.       database="jdbc:oracle:thin:@"+s1+":"+s2+":"+s3;  
  580.       text_url.setText(database);  
  581.         
  582.      }  
  583.     }  
  584.    });  
  585.      
  586.    text_port.addFocusListener(new FocusAdapter(){  
  587.       
  588.     public void focusLost(final FocusEvent e){  
  589.      String sbrt;  
  590.         String s1=text_ip.getText().toString();  
  591.      String s2=text_port.getText().toString();  
  592.      String s3=text_database.getText().toString();  
  593.      sbrt="jdbc:oracle:thin:@"+s1+":"+s2+":"+s3;  
  594.      text_url.setText(sbrt);  
  595.     }  
  596.    });  
  597.     text_ip.addFocusListener(new FocusAdapter(){  
  598.        
  599.      public void focusLost(final FocusEvent e){  
  600.       if(text_ip.getText().equals("")){  
  601.        label_tips3.setVisible(true);  
  602.        label_tips3.setText("IP没有填写");  
  603.          
  604.          
  605.       }  
  606.       else{  
  607.        String sbr;  
  608.        label_tips3.setVisible(false);  
  609.          
  610.        String s1=text_ip.getText().toString();  
  611.        String s2=text_port.getText().toString();  
  612.        String s3=text_database.getText().toString();  
  613.        sbr="jdbc:oracle:thin:@"+s1+":"+s2+":"+s3;  
  614.          
  615.          
  616.          
  617.        text_url.setText(sbr);  
  618.          
  619.       }  
  620.      }  
  621.     });  
  622.      
  623.      
  624.      
  625.    }  
  626.    else{  
  627.     text_url.setText(s);  
  628.        text_port.setText("3306");  
  629.        text_port.addFocusListener(new FocusAdapter(){  
  630.        
  631.      public void focusLost(final FocusEvent e){  
  632.       String sbrt;  
  633.           
  634.       String s2=text_port.getText().toString();  
  635.         
  636.       sbrt="jdbc:mysql://localhost:"+s2;  
  637.       text_url.setText(sbrt);  
  638.      }  
  639.     });  
  640.         text_ip.addFocusListener(new FocusAdapter(){  
  641.        
  642.      public void focusLost(final FocusEvent e){  
  643.         
  644.        
  645.        String sbr;  
  646.        label_tips3.setVisible(false);  
  647.          
  648.          
  649.        sbr="jdbc:mysql://localhost:3306";  
  650.          
  651.          
  652.          
  653.        text_url.setText(sbr);  
  654.          
  655.         
  656.      }  
  657.     });  
  658.         text_database.addFocusListener(new FocusAdapter(){  
  659.         
  660.       public void focusLost(final FocusEvent e){  
  661.          
  662.        String sbrt;  
  663.             
  664.        String s2=text_port.getText().toString();  
  665.          
  666.        sbrt="jdbc:mysql://localhost:"+s2;  
  667.        text_url.setText(sbrt);  
  668.          
  669.       }  
  670.      });  
  671.          
  672.       
  673.    }  
  674.     
  675.   }  
  676.      
  677. }   
  678. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值