以上禮拜的程式碼(
檔名為Test.java)為例:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Test
{
public static void main(String[] args)
{
JFrame jtfMainFrame = new JFrame("Which Button Demo");
jtfMainFrame.setSize(450, 150);
JButton jbnButton1 = new JButton("Button 1");
JPanel jplPanel = new JPanel();
jplPanel.add(jbnButton1);
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
System.out.print("yu-min liaw");
}
}
執行結果如下:
========================================================================
現在,我們要讓程式增加按鈕(檔名為Test1.java):
從上禮拜知道:
JButton jbnButton1 = new JButton("Button 1");
是新增按鈕的指令
而
jplPanel.add(jbnButton1);
則是增加按鈕物件的程式碼
所以我們讓程式碼新增一個Buttion2如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Test1
{
public static void main(String[] args)
{
JFrame jtfMainFrame = new JFrame("Which Button Demo");
jtfMainFrame.setSize(450, 150);
JButton jbnButton1 = new JButton("Button 1");
JButton jbnButton2 = new JButton("Button 2");
JPanel jplPanel = new JPanel();
jplPanel.add(jbnButton1);
jplPanel.add(jbnButton2);
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
System.out.print("yu-min liaw");
}
}
執行結果就會如下:
以此類推,我們讓按鈕增加至1~9,物件也增加1~9
JButton jbnButton1 = new JButton("Button 數字1~9");
jplPanel.add(jbnButton數字1~9);
即如下程式碼:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Test1
{
public static void main(String[] args)
{
JFrame jtfMainFrame = new JFrame("Which Button Demo");
jtfMainFrame.setSize(450, 150);
JButton jbnButton1 = new JButton("Button 1");
JButton jbnButton2 = new JButton("Button 2");
JButton jbnButton3 = new JButton("Button 3");
JButton jbnButton4 = new JButton("Button 4");
JButton jbnButton5 = new JButton("Button 5");
JButton jbnButton6 = new JButton("Button 6");
JButton jbnButton7 = new JButton("Button 7");
JButton jbnButton8 = new JButton("Button 8");
JButton jbnButton9 = new JButton("Button 9");
JPanel jplPanel = new JPanel();
jplPanel.add(jbnButton1);
jplPanel.add(jbnButton2);
jplPanel.add(jbnButton3);
jplPanel.add(jbnButton4);
jplPanel.add(jbnButton5);
jplPanel.add(jbnButton6);
jplPanel.add(jbnButton7);
jplPanel.add(jbnButton8);
jplPanel.add(jbnButton9);
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
System.out.print("yu-min liaw");
}
}
執行結果圖:
========================================================================
接下來,我們要讓個別按鈕點下去之後 會有個別回應(檔名為Test2.java):
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Test2
{
public static void main(String[] args)
{
JFrame jtfMainFrame = new JFrame("Which Button Demo");
jtfMainFrame.setSize(450, 150);
JButton jbnButton1 = new JButton("Button 1");
JButton jbnButton2 = new JButton("Button 2");
JButton jbnButton3 = new JButton("Button 3");
JButton jbnButton4 = new JButton("Button 4");
JButton jbnButton5 = new JButton("Button 5");
JButton jbnButton6 = new JButton("Button 6");
JButton jbnButton7 = new JButton("Button 7");
JButton jbnButton8 = new JButton("Button 8");
JButton jbnButton9 = new JButton("Button 9");
jbnButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 1!");
}
});
JPanel jplPanel = new JPanel();
jplPanel.add(jbnButton1);
jplPanel.add(jbnButton2);
jplPanel.add(jbnButton3);
jplPanel.add(jbnButton4);
jplPanel.add(jbnButton5);
jplPanel.add(jbnButton6);
jplPanel.add(jbnButton7);
jplPanel.add(jbnButton8);
jplPanel.add(jbnButton9);
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
System.out.print("yu-min liaw");
執行後,會如下圖:
由上面可知新增程式碼ActionListener可命令哪個按扭做回應
並用system.out使按鈕回應反映出來
以此類推,我們將上列新增的程式碼做延伸
jbnButton數字1~9.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 數字1~9!");
}
});
即如下程式碼:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Test2
{
public static void main(String[] args)
{
JFrame jtfMainFrame = new JFrame("Which Button Demo");
jtfMainFrame.setSize(450, 150);
JButton jbnButton1 = new JButton("Button 1");
JButton jbnButton2 = new JButton("Button 2");
JButton jbnButton3 = new JButton("Button 3");
JButton jbnButton4 = new JButton("Button 4");
JButton jbnButton5 = new JButton("Button 5");
JButton jbnButton6 = new JButton("Button 6");
JButton jbnButton7 = new JButton("Button 7");
JButton jbnButton8 = new JButton("Button 8");
JButton jbnButton9 = new JButton("Button 9");
jbnButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 1!");
}
});
jbnButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 2!");
}
});
jbnButton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 3!");
}
});
jbnButton4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 4!");
}
});
jbnButton5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 5!");
}
});
jbnButton6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 6!");
}
});
jbnButton7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 7!");
}
});
jbnButton8.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 8!");
}
});
jbnButton9.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 9!");
}
});
JPanel jplPanel = new JPanel();
jplPanel.add(jbnButton1);
jplPanel.add(jbnButton2);
jplPanel.add(jbnButton3);
jplPanel.add(jbnButton4);
jplPanel.add(jbnButton5);
jplPanel.add(jbnButton6);
jplPanel.add(jbnButton7);
jplPanel.add(jbnButton8);
jplPanel.add(jbnButton9);
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
System.out.print("yu-min liaw");
}
}
執行結果圖: