Liny_@NotePad

沉迷ACG中

获取本机IP\MAC

正好要做一个读取本机IP和MAC地址的练习,发现windows下和linux的不一样,于是干脆一起来做工厂模式练习~不过返回都是String - -。

FlowLayout布局时设定组件大小

FlowLayout布局管理器显示组件时,是根据组件的PreferredSize来确定组件大小的,
而一些组件的默认都是为0的,因此放了并不显示,
只要为其setPreferredSize下就好了。

如何修改OptionPane按钮的文字?

在最近的一个C/S项目中,要求纯英文的。OptionPane弹出的MessageDialog默认选项是“确认”。
百度了下,在使用前(我是放在main的最前面,一般来说可以放在类的static块中)前用UIManager定义一下即可:

UIManager.put("OptionPane.okButtonText",   "OK");

同理的,还有OptionPane.yesButtonText、OptionPane.noButtonText、OptionPane.cancelButtonText等等。

UIManager可以跟踪当前的外观,可以管理AWT的样式。如果要修改的是Swing,可以用AWT的类名来改。

譬如我们要修改JButton的字体时,可以用button.font来put。……

Swing设置默认焦点

 假设要设定默认焦点为defaultButton,则初始化窗体时

  1. this.addWindowListener(new java.awt.event.WindowAdapter() {
  2.             public void windowOpened(java.awt.event.WindowEvent evt) {
  3.                 defaultButton.requestFocus();
  4.             }
  5. });

即可。

Excel2Mysql制作ing..(1)

好懒 = = ……边红心大战边校内边找茬做了许久,才做了一个界面……至于事件什么时候写……再说了……

放截图出来自己陶醉下……

使用jxl组件读取excel

先下好jxl,导入jar包。以下代码是为了读取从第三行起的数据并存入到数据库中的测试代码(前两行是标题行)。存着供参考……

  1.                 try {
  2.                         Class.forName("com.mysql.jdbc.Driver");
  3.                        
  4.                         Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db","root","");
  5.                        
  6.                         String sql1 = "insert into student_info
  7. (CREATEDT,FULLNAME,BIRTHDAY,GENDER,MAJOR,REGION,INSTITUTION,
  8. MOBILEPHONE,QQNUMBER,EMAIL,FEE,ENTERFOREXTRA)
  9. value (?,?,?,?,?,?,?,?,?,?,?,?)";
  1.                         PreparedStatement ps1 = conn.prepareStatement(sql1);
  2.                        
  3.                         Workbook workbook = Workbook.getWorkbook(new File("d://EXCEL文件.xls"));
  4.                        
  5.                         Sheet sheet = workbook.getSheet(0);
  6.                         int columns = sheet.getColumns();
  7.                         int rows = sheet.getRows();
  8.                        
  9.                         for(int i=3;i<rows;i++){
  10.                                 ps1.setString(1,sheet.getCell(1,i).getContents());            //CREATEDT    报名日期
  11.                                 ps1.setString(2,sheet.getCell(2,i).getContents());            //FULLNAME    姓名
  12.                                 ps1.setString(3,sheet.getCell(3,i).getContents());            //BIRTHDAY    出生日期
  13.                                 ps1.setString(4, sheet.getCell(4,i).getContents());          //GENDER     性别
  14.                                 ps1.setString(5, sheet.getCell(5,i).getContents());          //MAJOR            专业
  15.                                 //      所在公司 6//
  16.                                 //      所属岗位 7//
  17.                                 //      学历         8//       
  18.                                 ps1.setString(6, sheet.getCell(9,i).getContents());          //REGION     所属地区
  19.                                 ps1.setString(7, sheet.getCell(10,i).getContents());    //INSTITUTION       所属院校
  20.                                 //      何时毕业 11 //
  21.                                 ps1.setString(8, sheet.getCell(12,i).getContents());    //MOBILEPHONE       电话
  22.                                 ps1.setString(9, sheet.getCell(13,i).getContents());    //QQNUMBER    QQ
  23.                                 ps1.setString(10, sheet.getCell(14,i).getContents());   //EMAIL        邮箱
  24.                                 //      套餐名称 15
  25.                                 String fee = sheet.getCell(16,i).getContents();
  26.                                 if(fee!=""&&!"已退款".equals(fee)){        //FEE          收费情况
  27.                                         ps1.setInt(11, Integer.parseInt(sheet.getCell(16,i).getContents()));
  28.                                 }else{
  29.                                         ps1.setInt(11,0);
  30.                                 }
  31.                                 ps1.setString(12, sheet.getCell(17,i).getContents());   //ENTERFOREXTRA    备注
  32.                                
  33.                                 ps1.execute();
  34.                         }
  35.                        
  36.                         ps1.close();
  37.                         workbook.close();
  38.                         conn.close();
  39.                 } catch (BiffException e) {
  40.                         e.printStackTrace();
  41.                 } catch (IOException e) {
  42.                         e.printStackTrace();
  43.                 } catch (ClassNotFoundException e) {
  44.                         e.printStackTrace();
  45.                 } catch (SQLException e) {
  46.                         e.printStackTrace();
  47.                 }

其中 sheet.getCell(列,行).getContens()就可以获得相应单元格的内容。

【注意】Win下的类名……

由于Win下的文件名不区分大小写,所以如果同一个包中有相同的类(比如下例中的TestThread类和testthread),就无法通过编译。

软院的一个同学发来一个貌似无错的程序,跑了一下才发现原来如此……

  1. class TestThread extends Thread {
  2.     private String whoami;
  3.     private long delay;
  4.     //Our constructor to store the name (whoami) and time to sleep (delay)
  5.     public TestThread(String s, long d) {
  6.         whoami = s;
  7.         delay = d;
  8.     }
  9.     //Run - the thread method similar to main() When run is finished, the thread dies.
  10.     //Run is called ** the start() method of Thread
  11.     @Override
  12.     public void run() {
  13.         //Try to sleep for the specified time
  14.         try {
  15.             sleep(delay);
  16.         } catch (InterruptedException e) {
  17.         } //Now print out our name
  18.         System.out.println("Hello World!" + whoami + "" + delay);
  19.     }
  20. }
  21. /** * Multimtest. A simple multithread thest program */
  22. public class testthread {
  23.     public static void main(String args[]) {
  24.         TestThread t1, t2, t3; //Create our test threads
  25.         t1 = new TestThread("Thread1", 1000);
  26.         t2 = new TestThread("Thread2", 2000);
  27.         t3 = new TestThread("Thread3", 3000);
  28.         //Start each of the threads
  29.         t1.start();
  30.         t2.start();
  31.         t3.start();
  32.     }
  33. }

MD5加密小程序

【介绍】

调用了百度的MD5加密算法,实现对指定明文进行简单MD5加密的小程序~