/***************************************** 示範JAVA的UI基本元件,JLabel JTextField JButton 用置中的流水版面設定,並且處理按鈕事件 *************************************************/ import java.awt.*; import javax.swing.*; import java.awt.event.*; public class ui5 extends JFrame implements ActionListener //順便扮演ActionListener { Container c; JLabel lab1; JTextField txt1; JButton bot1; public ui5() //建構元 { super("簡單的UI元件"); c=getContentPane(); setSize(640,480); lab1=new JLabel("這是標籤"); bot1=new JButton("這是按鈕"); txt1=new JTextField("內容啦",10); c.setLayout(new FlowLayout(FlowLayout.CENTER));//設定為流水版面設定 c.add(lab1); c.add(txt1); c.add(bot1); bot1.addActionListener(this);//設定自己為bot1按鈕的傾聽者 setVisible(true); } public void paint(Graphics g) //真正的畫圖設定 { super.paint(g);//畫出元件 g.setFont(new Font("Serif",Font.PLAIN,20)); g.drawString("我在畫圖,你在看嗎?",10,100); g.drawString(txt1.getText(),10,150); } /***按鈕事件的傾聽方法****/ public void actionPerformed(ActionEvent e) //按鈕事件的處理方法 { repaint();//要程式重新執行一次paint() } /***主程式***/ public static void main(String args[]) //程式起點 { ui5 app=new ui5(); //畫圖 app.addWindowListener(new WindowAdapter(){ //匿名內部類別 public void windowClosing(WindowEvent e) { System.exit(0); } }); //處理視窗關閉要求 } }