Showing posts with label java. Show all posts
Showing posts with label java. Show all posts

05 January 2011

JAVA : How to scroll the horizontal scrollbar by (shift + mouse wheel)

วิธี scroll horizontal scrollbar ด้วยการ กด shift + mouse wheel

// create mouse wheel listener and implement follow below...
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
if ((e.getModifiers() & java.awt.event.InputEvent.SHIFT_MASK)
== java.awt.event.InputEvent.SHIFT_MASK) {
if (scrollPane.getHorizontalScrollBar().isShowing()) {
JViewport viewport = scrollPane.getViewport();
Point viewPosition = viewport.getViewPosition();
if (e.getWheelRotation() < 0) { // wheel up -
viewPosition.x -= scrollPane.getHorizontalScrollBar()
.getBlockIncrement() * 15; // adjust up to you!
} else { // wheel down +
viewPosition.x += scrollPane.getHorizontalScrollBar()
.getBlockIncrement() * 15; // adjust up to you!
}
// X axis only
if (viewPosition.x > viewport.getView().getWidth() - viewport.getWidth()) {
viewPosition.x = viewport.getView().getWidth() - viewport.getWidth();
}
if (viewPosition.x < 0) {
viewPosition.x = 0;
}
viewport.setViewPosition(viewPosition);
}
} else { // dispatchEvent of scrollpane
scrollPane.dispatchEvent(e); // scroll vertical normaly...
}
}

09 September 2010

วิธีสร้าง Batch file สำหรับรัน java

วิธีทำ jar file, วิธี export eclipse project java เพื่อทำ jar
ก่อนอื่นนะครับ ต้องไป export project java ให้ได้เป็น .jar มาก่อนตามนี้

  1. file > export... > java > jar file จากนั้น ให้เลือกตัว src หรือ folder อื่นๆที่ต้องการด้วย และทางด้านขวาไม่ต้องเลือก ต่อมาก็เลือกที่เก็บไฟล์ jar ที่
    select export destination เสร็จแล้ว Next > ไป 2 ครั้ง
  2. เสร็จแล้ว Browse เลือก main ของโปรเจค แล้วกด Finish เป็นอันเสร็จ
  3. ทำ batch file สำหรับขั้นตอนนี้ถ้ามี library ของคุณเองด้วยก็นำมาทำด้วยนะครับ
    ก่อนอื่นสร้าง folder ไว้ 1 folder เอาไฟล์ jar ที่ export มาใส่ไว้
    สร้าง folder ข้างในชื่อ lib ให้เอา library ของคุณมาใส่ไว้ในนี้
    สร้างไฟล์ text ขึ้นมาแก้ไขไปดังนี้
    set CLASSPATH=.;%CLASSPATH%
    java -cp "lib\ojdbc14.jar;project.jar" MainFrame
    pause
    


    ojdbc14.jar เป็น library ของผม ส่วน project.jar เป็นไฟล์ที่ได้จากการ export
    เสร็จแล้วจึง save เป็น "ชื่อไฟล์.bat" ห้ามมี enter ว่าง จากนั้นลองรันดูเลยครับ

    อย่าลืม set path java(ตัว jvm path) นะครับ ดูได้ที่นี่

    08 August 2010

    [java]วิธีเปลี่ยน Icon (how to change icon JFrame,JDialog,JInternalFrame)

    วันนี้จะนำเสนอการเปลี่ยน icon ที่ทำเผินๆแล้วเหมือนจะเปลี่ยนได้โดยง่าย ของอย่างนี้มีทริปนิดนึงครับ ทริปที่ว่านี้คือใช้ Toolkit ของจาวา ครับ

    การ set Icon ของ JFrame
    import java.awt.Toolkit;
    
    frame.setIconImage(Toolkit.getDefaultToolkit().getImage("icon/frame.gif")); 
    

    การ set Icon ของ JDialog
    import java.awt.Toolkit;
    
    dialog.setIconImage(Toolkit.getDefaultToolkit().getImage("icon/table.gif"));
    

    การ set Icon ของ InternalFrame
    //อันนี้ ธรรมดาเลยครับ
    internalframe.setFrameIcon(new ImageIcon("icon/table.gif"));
    

    02 August 2010

    [java] การใช้ Labeled continue ใน for loop

    Java ยอมให้มีการใช้ label ในการหยุดและเริ่มการประมวลผลใหม่ ซึ่งโปรแกรมเมอร์หลาย ๆ ท่านไม่
    ค่อยจะเห็นด้วยกับการใช้การประมวลผลในลักษณะนี้เท่าใดนัก เรามาดูตัวอย่างกัน
    /* LabledContinue.java */
    import java.io.*;
    class LabeledContinue {
    public static void main(String[] args) {
        label: for(int row = 1; row <= 10; row++) {
                   System.out.println();
                    for(int column = 1; column <= 10; column++) {
                        if(column > row)
                          continue label; //goto label
                        System.out.print("*");
                     }
                   }
       }
    }
    

    เราได้ดัดแปลงโปรแกรม Continue.java ของเราสำหรับการแสดงการใช้ labeled continue ในโปรแกรม LabeledContinue.java เรากำหนดให้มี identifier ที่มีชื่อว่า label อยู่ก่อนหน้า for loop ด้านนอกของเรา ซึ่งต้องมีเครื่องหมาย ':' ตามหลังเสมอ และในการใช้ continue ใน for loop ด้านในนั้นเราจะต้องมี identifier ที่เราใช้ตามหลัง continue เสมอ การประมวลด้วย labeled continue ก็ไม่ยากนักที่จะทำความเข้าใจ เมื่อค่าของ column มากกว่าค่าของ row การทำงานใน for loop ด้านในก็สิ้นสุดลงและไปเริ่มต้นใหม่ที่ for loop ด้านนอก เพราะนั่นเป็นที่ที่มี label อยู่ การทำงานแบบนี้ก็เหมือนกับการกระโดดไปยังตำแหน่งที่เราต้องการจะไปนั่นเอง ทั้งนี้ก็ต้องขึ้นอยู่กับเงื่อนไขที่เราได้ตั้งไว้

    [แจก]หนังสือจาวา (java book,e-book)

    สำหรับผู้ที่ต้องการศึกษา มีทั้งไทยและอังกฤษ ...Download...

    26 June 2010

    Java Look And Feel(SystemLookAndFeel,theme)

    สวัสที่ท่านผู้อ่านนะครับ พอดีผมเขียนโปรแกรมแล้วประสบปัญหาการปรับแต่งหน้าตาใน Java App SE
    แล้วหาข้อมูลยากมากๆ ก็เลยคิดว่านำมาแบ่งปันให้จะเป็นการดี
    • ปกติแล้วเวลาที่เราเขียนโปรแกรมหน้าตาของมัน จะเรียกใช้มาจากตัว Library ของ java
      จะเป็นประมานนี้...
      แล้วจะเปลี่ยนหน้าตาโปรแกรมให้เหมือนกับ หน้าตาโปรแกรมที่เราใช้ยังไง เช่น เรา
      ใช้window 7 หรือกับ OS อื่นๆ โดยให้เปลี่ยน Theme ไปตาม OS นั้นๆ
      ก็ให้เพิ่มคำสั่งตามนี้เลย...

      try {
      //อันนี้เรียกใช้จาก Library ของ java โดย Default //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
      
      //อันนี้เป็นของแถมมากับเจ้า Library ของ java เช่นกัน
      //UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
      
      //อันนี้เป็น theme ของระบบ
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
      } catch (Exception e)  { }
      

      ให้ใส่ก่อนการ สร้าง Frame นะครับพี่น้อง
    ...ข้อมูลเพิ่มเติมที่ Java Tutorial...

    03 April 2010

    JAVA-Inheritance

    วันนี้ได้มาซ้อมทำโปรเจคที่มหาวิทยาลัย ได้ศึกษาเรื่องการสืบทอด...

    ประโยนช์ของการสืบทอด(extends)
    • แก้ปัญหาการเขียนโปรแกรมซ้ำซ้อนกันได้
    • เมธอดหรือแอตทริบิวต์ที่คลาสต่างๆ มีร่วมกันจะถูกนำไปใส่ในคลาสแม่
    • คลาสลูกจะสืบทอดเมธอดและแอตทริบิวต์คลาสแม่โดยอัตโนมัติ

    ประโชน์ของการทำ polymorphism
    • poly แปลว่าหลายหรือมาก
    • morphism นั้นมาจากคำว่า morph ซึ่งแปลว่ารูปร่าง
    • รวมกันแล้วหมายถึงความสามารถที่สิ่งหนึ่งจะมีได้หลายรูปร่าง ซึ่งเมื่อใช้คำนี้กับการโปรแกรมเชิงวัตถุ ก็จะหมายถึงการที่คำสั่งแบบเดียวกันสามารถถูกแปลได้หลายแบบ
    • พอลิมอร์ฟิซึมสนับสนุน การนำกลับมาใช้ใหม่ (reuse)
    • ถ้าเราได้เขียนโปรแกรมที่ใช้งานได้กับสัตว์ โปรแกรมของเราย่อมใช้ได้กับแมว ปลา และลิงนอกจากนั้นถ้ามีคนสร้างคลาสอีกัวน่าขึ้นมาใหม่ โปรแกรมที่เราเขียนก็สามารถใช้ได้กับคลาสอีกัวน่าเช่นกัน

    27 March 2010

    JAVA-Drag And Drop

    วันนี้ได้ไปซ้อมมือการทำโปรเจคที่มหาลัย อาจารย์ได้มอบหมายให้เขียน java application ที่สามารถสร้าง และเคลื่อนย้าย panel ได้
    การฝึกปรือครั้งนี้ใช้โปรแกรม netbean IDE ในการเรียน หลังจากติดตั้งและสร้างโปรเจคเสร็จก็ได้ลงมือ กว่าจะทำได้ก็ต้องถามเจ้าพ่อ google อยู่นาน พอได้แนวทางมาก็เอามาเขียนของเราเอง วันนี้ผมก็พอจะเห็นภาพคร่าวๆของโปรเจคของผมแล้ว
    นี่เป็นแนวทาง Drag And Drop ครับ >>http://www.narisa.com/forums/index.php?showtopic=20813