PHP字串長度找子字串與取代字串的常用函數

PHP在字串的操作上,有非常多的相關函數可以使用,我們在這裡只介紹經常會使用到的字串操作函數。像是如何取得字串的長度、在某一個字裏面尋找子字串首次出現的位置、以及字串的取代函數...等等。這些都是在編寫程式的時候,頻繁被程式設計師使用到的基礎函數。 取得字串長度 <?...

顯示具有 Swing 標籤的文章。 顯示所有文章
顯示具有 Swing 標籤的文章。 顯示所有文章

2017年12月23日 星期六

建立一個JButton元件


package test.swing.component;

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class TestJButton extends JFrame {
 
 private JPanel contentPane;

 public static void main(String[] args) {
  TestJButton frame = new TestJButton();
  frame.setVisible(true);
 }
 
 public TestJButton(){
  setBounds(100, 100, 450, 300);   //(左邊界,上邊界,宽度,長度)
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  contentPane = new JPanel();
  contentPane.setBorder(new EmptyBorder(10,10,10,10));   //(上,左,下,右)
  setContentPane(contentPane);
  
  //將Layout設定為由左至右的排列components之間的關係,超出面板宽度的元件往下列遞補
  contentPane.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));   //(置左,左右間距,上下間距)
  
  JButton finishBtn = new JButton("完成按鈕");
  
  contentPane.add(finishBtn);
  
  
 }

}

2014年8月30日 星期六

使用DefaultTableModel注入表格資料 - Java視窗程式JTable元件應用


package test.swing.jtable;

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;

public class TestDefaultTableModel extends JFrame {

  public static void main(String[] args) {    
        TestDefaultTableModel frame = new TestDefaultTableModel();
      frame.setVisible(true);
  }

  public TestDefaultTableModel(){    
    setTitle("Test DefaultTableModel for version 1.0.1");    
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100100450500);  //(左邊界,上邊界,宽度,長度)
    JPanel contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(10101010));  //(上,左,下,右)
    setContentPane(contentPane);
    
    //設置Layout的樣式來呈現component之間在Panel上的位置關係
    contentPane.setLayout(new BorderLayout());
    
    //第一種方式: 為table初始宣告一些測試資料  (常用方法1)
    JTable table = new JTable(new Object[][]{
        {"aaa000","aaa001","aaa002"},
        {"bbb000","bbb001","bbb002"},
        {"ccc000","ccc001","ccc002"}}
        new Object[]{"Title A","Title B","Title C"});
    
    //第二種方式: 為table初始宣告一些測試資料  (常用方法2)
    /*Object[][] dataVector = new Object[][]{
        {"xxx000","xxx001","xxx002"},
        {"yyy000","yyy001","yyy002"},
        {"zzz000","zzz001","zzz002"}};
    Object[] columnIdentifiers = new Object[]{"Title X","Title Y","Title Z"};
    DefaultTableModel model = new DefaultTableModel();
    model.setDataVector(dataVector, columnIdentifiers);
    JTable table = new JTable(model);*/      
    
    //第三種方式: 逐一加入每一欄位名稱與該欄位的所有記錄  (為table初始宣告一些測試資料)
    /*DefaultTableModel model = new DefaultTableModel();
    model.addColumn("columnName0", new Object[]{"cn000","cn003","cn006"});
    model.addColumn("columnName1", new Object[]{"cn001","cn004","cn007"});
    model.addColumn("columnName2", new Object[]{"cn002","cn005","cn008"});
    JTable table = new JTable();
    table.setModel(model);*/
    
    //第四種方式: 以Vector逐一加入每一欄位名稱與該欄位的所有記錄  (為table初始宣告一些測試資料)
    /*DefaultTableModel model = new DefaultTableModel();
    Vector cnv = new Vector();
    cnv.add("cln000");
    cnv.add("cln001");
    model.addColumn(new String("columnName0"), cnv);
    cnv = new Vector();
    cnv.add("cln002");
    cnv.add("cln003");
    model.addColumn(new String("columnName1"), cnv);
    cnv = new Vector();
    cnv.add("cln004");
    cnv.add("cln005");
    model.addColumn(new String("columnName2"), cnv);
    JTable table = new JTable(model);*/
    
    //第五種方式: 先加人欄位,後加入資料  (為table初始宣告一些測試資料)
    /*DefaultTableModel model = new DefaultTableModel();
    model.setColumnIdentifiers(new Object[]{"columnName0","columnName1", "columnName2"});
    model.addRow(new Object[]{"coln000","coln001","coln002"});
    model.addRow(new Object[]{"coln003","coln004","coln005"});
    model.addRow(new Object[]{"coln006","coln007","coln008"});
    JTable table = new JTable();
    table.setModel(model);*/
    
    contentPane.add(new JScrollPane(table), BorderLayout.CENTER);    
  }
}

使用Object陣列注入表格資料 - Java視窗程式JTable元件應用


package test.swing.jtable;

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;

public class TestDefaultTableModel extends JFrame {

  public static void main(String[] args) {    
        TestDefaultTableModel frame = new TestDefaultTableModel();
      frame.setVisible(true);
  }

  public TestDefaultTableModel(){    
    setTitle("Test injected some data to JTable.");    
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100100450500);  //(左邊界,上邊界,宽度,長度)
    JPanel contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(10101010));  //(上,左,下,右)
    setContentPane(contentPane);
    
    //設置Layout的樣式來呈現component之間在Panel上的位置關係
    contentPane.setLayout(new BorderLayout());
    
    //以Object陣列為table初始宣告一些測試資料
    JTable table = new JTable(new Object[][]{
        {"aaa000","aaa001","aaa002"},
        {"bbb000","bbb001","bbb002"},
        {"ccc000","ccc001","ccc002"}}
        new Object[]{"Title A","Title B","Title C"});   
    
    contentPane.add(new JScrollPane(table), BorderLayout.CENTER);    
  }
}