Tuesday, December 8, 2015

Java – Simple TextEditor

Using java to building a simple text editor application

  1. – Create menu, contextual menu
  2. – Using toolbox component
  3. – Using JTextPane
  4. – Understand JFileChooser, JColorChooser


You can down load source =>> here <<==

Some app’s interface

Công cụ chuyển ngôn ngữ miễn phí

Convert .NET (Based on .NET 4.5)
Convert .NET phát triển một công cụ tích hợp, mạnh mẽ, đa mục đích chuyển đổi. Các tính năng: C # sang VB và ngược lại, LINQ tester, mã hóa / giải mã, Regular Expression tester, Base64 Encoding / Decoding và dịch văn bản đầy đủ.

Chi tiet tai day


Voi cong cu nay viet chuyen doi qua lai giua cac ngon ngu tro nen vo cung nhanh chong va chinh xac.

Tác giả

Đôi điều về tôi
Birthday: September 20
Address: Vietnam
Personal email: ntdan@live.com
Gender: Male
Location: Viet Nam
Occupation: Can Tho
More : Lecturer of Can Tho University
Interests: Computer; Travel; sport
Job title: Lecturer
Sở thích: Trao đổi kiến thức với mọi người, cafe một mình (enjoy coffee –> just alone). Mục tiêu: Hoàn thiện bản thần và cải thiện môi trường sống. Triết lý sống: Cuộc sống thật công bằng.


Experiment

Aptech Faculty and Lecturer of Infomation Technilogy and MultiMedia – Can Tho University from 2009 until now

  • .Net Technics: c#, asp.net, asp.net MVC, winform app.
  • Database: SQL Server, MySQL, Oracle.
  • Java: java language, jsp, ejb, struts, JSF, Android.
  • Network: MCITP
  • Cloud computing
  • PHP: ecommerce website – development trainer
  • Mobile Application Development (Android platform)
Lecturer of Đồng Tháp University – Vietnam (2006)
ECG data format translator – Desktop App – Coding (JP)
Hopital Information System – Desktop App – Design, Coding (4 start – Vinasa) (VN)
Human Resource Management – Desktop App – Design, Coding, Leader (VN)

Publish

Simulating flooding situation in Mekong Delta region by the influence of rainfall – 16th National IT Conference – Duy Tan University – VietNam(2013)

Graduated


  1. Master (Data mining) – 2013 – Nantes PolyTech University.
  2. Bachelor – 1999 to 2004  – Can Tho University.

    Training


    1. Android app development certificate
    2. Chứng chỉ nghiệp vụ sử phạm – Can Tho University(2011)
    3. Triết học – Can Tho University(2011)
    4. Vietnam – Japan bridge engineer – Yokohama Japanese (2009)
    5. Linux – Khoa công nghệ thông tin ĐHCT (2006)

      MICROSOFT CERTIFICATIONS:

      • MICROSOFT CERTIFICATION EXAMS COMPLETED SUCCESSFULLY:
      • 640 TS:Windows Server 2008 Active Directory, Configuring August 06, 2010
      • 536 TS: Microsoft .NET Framework – Application Development Foundation January 09, 2009
      • 526 TS: Microsoft® .NET Framework 2.0 – Windows®-based Client Development September 26, 2008

      Monday, December 7, 2015

      Xây dựng ứng dụng MDI với Java (netbean, ứng dụng form cha-con)

      MDI application là loại giao diện ứng dụng rất phổ biến trên nền hệ điều hành window. Java hỗ trợ 02 đối tượng jDesktopPaneJInternalFrame cho phép lập trình viên tạo ra loại giao diện ứng dụng này đơn gian và nhanh chóng.

      Trong bài này tôi hướng dẫn căn bản cho các bạn sinh viên (lập trình viên) từng bước tạo ứng dụng có kiểu giao diện này.
      1. Tạo form chính (FrmMain)
      2. Định nghĩa form con (Children form)
      3. Chỉ đinh form cha-con.
      4. Ràng buộc form con chỉ được mở 1 lần trong form cha.

      Bước 1: Tạo ứng dụng Java destop với netbean.
      + File -> New Project -> chọn kiểu java application
      Bước 2: Tạo đối tượng form cha
      + File -> New File -> chọn Swing GUI Forms -> chọn JFrame Form phía bên phải
      + Thiết kế menu chính của chương trình: Kéo thả Menu Bar và jDesktopPane vào form chính như hình dưới

      [caption id="attachment_1086" align="aligncenter" width="300"]Giao diện tạo form chính Giao diện tạo form chính[/caption]

      Bước 3: Xây dựng các form con, trong ví dụ này tôi tạo form Login
      + File -> New File chọn tiếp loại JInternalFrame

      Các bạn thiết kế lại giao diện form con cho phù hợp

      Bước 4: Gán form con và form cha
      + Chọn menu login trong form cha: Click chuột phải và chọn event => action performed
      [sourcecode language="java"]
      for (JInternalFrame frmChild : jDesktopPane1.getAllFrames()) {
      frmChild.dispose();
      }

      FrmLogin frmLogin = new FrmLogin();
      frmLogin.setTitle("Login to system");
      frmLogin.setLocation(this.getWidth()/2 - frmLogin.getWidth()/2,(this.getHeight()-20)/2 - frmLogin.getHeight()/2 - 20);
      jDesktopPane1.add(frmLogin);
      frmLogin.setVisible(true);
      [/sourcecode]

      Dòng lệnh for đóng tất cả các form con đang mở.
      [sourcecode language="java"]
      jDesktopPane1.add(frmLogin);
      frmLogin.setVisible(true);
      [/sourcecode]
      Đoạn gán form login vào form main.

      OK, bây giờ chạy form cha và chọn menu login ta sẽ có kết quả

      [caption id="attachment_1087" align="aligncenter" width="300"]Form con Form con[/caption]

      Bước 5: Qui định form chỉ được mở 1 lần, nếu trước đó đã mở và hiện đang bị che khuất thì chỉ hiển thị form con lên trên (active). Trong ví dụ này tôi chọn form About để làm demo
      + Định nghĩa biên frmAbout có kiểu là FrmAbout
      + Trong sự kiện Action Performed của menu About ta cung cấp code như sau
      [sourcecode language="java"]
      private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
      // TODO add your handling code here:
      if(frmAbout == null || frmAbout.isClosed())
      {
      frmAbout = new FrmAbout();
      jDesktopPane1.add(frmAbout);
      frmAbout.setLocation(this.getWidth()/2 - frmAbout.getWidth()/2,(this.getHeight()-20)/2 - frmAbout.getHeight()/2 - 20);
      frmAbout.setVisible(true);
      }
      else
      {
      frmAbout.setLocation(this.getWidth()/2 - frmAbout.getWidth()/2,(this.getHeight()-20)/2 - frmAbout.getHeight()/2 - 20);
      frmAbout.setVisible(true);
      }
      }
      [/sourcecode]

      Như vậy là chúng ta vừa sủ dụng jDesktopPane và jInternalFrame để xây dựng ứng dụng MDI rất đơn gian. Hi vọng nó sẽ cho các bạn một các nhìn ban đầu về các xây dựng MDI application trên java với sự hỗ trợ của netbean.

      Video từng bước tại đây

      Thursday, December 3, 2015

      Java - Simple TextEditor

      Using java to building a simple text editor application


      - Create menu, contextual menu
      - Using toolbox component
      - Using JTextPane
      - Understand JFileChooser, JColorChooser

      You can down load source =>> here <<==

      Video step by step ==>> at here <<==

      Some app's interface


      [gallery ids="1961,1963,1964,1962" type="rectangular"]


      Load all system font on font combobox



      private void loadFont() {
      GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment();
      // get all font name&amp;amp;amp;amp;amp;amp;amp;nbsp;
      String[] fontNames = gEnv.getAvailableFontFamilyNames();
      // load to combobox
      ComboBoxModel model = new DefaultComboBoxModel(fontNames);
      jcbFont.setModel(model);
      }

      When user select font and size, we will setting font and size for textpane component

      private void jcbFontActionPerformed(java.awt.event.ActionEvent evt) {
      // Change font of text
      jTextPane1.setFont(new Font(jcbFont.getSelectedItem().toString(),
      Font.PLAIN, Integer.parseInt(jcbSelectSize.getSelectedItem().toString())));
      }

      private void jcbSelectSizeActionPerformed(java.awt.event.ActionEvent evt) {
      // Select size of text
      String getSize = jcbSelectSize.getSelectedItem().toString();
      Font f = jTextPane1.getFont();
      // setting new size
      jTextPane1.setFont(new Font(f.getFontName(),
      f.getStyle(), Integer.parseInt(getSize)));
      }

      JColorChooser API of Java swing help our get a color from system color dialog, using code below for ActionPerformed event of color button.

      private void btnSelectColorActionPerformed(java.awt.event.ActionEvent evt) {
      Color jColor = selectColor;
      // open color dialog and select Color
      if ((jColor = JColorChooser.showDialog(this, "Select color", jColor)) != null) {
      selectColor = jColor;
      // set text color
      jTextPane1.setForeground(selectColor);
      }
      }

      RTFEditorKit can help reading formatted text on JTextPane and write down file system with rich text format


      When user click on Save button or save as menu

      private void save() {
      JFileChooser file = new JFileChooser();
      TextFilter filter = new TextFilter();
      file.setFileFilter(filter);
      String fileName = "";
      // show save file dialog
      if (file.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
      // get full path of selected file
      fileName = file.getSelectedFile().getAbsolutePath();
      // get meta of text
      StyledDocument doc = (StyledDocument) jTextPane1.getDocument();
      // convert to richtext format
      RTFEditorKit kit = new RTFEditorKit();
      BufferedOutputStream out;
      try {
      out = new BufferedOutputStream(new FileOutputStream(fileName));
      // save content to file
      kit.write(out, doc, doc.getStartPosition().getOffset(), doc.getLength());
      out.flush();
      out.close();
      } catch (Exception e) {
      System.out.println("Err:" + e.toString());
      }

      } else {
      return;
      }
      }

      Handing button Open file or menu Open file as

      private void open() {
      JFileChooser file = new JFileChooser();
      TextFilter filter = new TextFilter();
      file.setFileFilter(filter);
      String fileName = "";
      // show open file dialog
      if (file.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
      fileName = file.getSelectedFile().getAbsolutePath();
      } else {
      return;
      }
      // using richtext format
      RTFEditorKit rtf = new RTFEditorKit();
      try {
      // load file into jTextPane
      FileInputStream fi = new FileInputStream(fileName);
      rtf.read(fi, jTextPane1.getDocument(), 0);
      fi.close();
      } catch (Exception e) {
      System.out.println("err:" + e.toString());
      }
      }

      This is just demo java beginner.
      I hope that, it is useful for you.

      Translate