1. 程式人生 > >Java 實現介面的字串連線操作

Java 實現介面的字串連線操作

實現如下介面

 

詳細過程

一、建立一個類繼承窗體類並實現監聽介面

二、屬性:

            5個標籤,串1,串2,+,=,結果

           3個文字框,用於輸入輸出

            2個按鈕,連線字串和清除字串

三、建構函式

帶引數的和不帶引數的

注意:1,不帶引數的建構函式會有很多個,我們只需選擇一個帶有窗體名稱的

           2,設定窗體的大小

           3,設定元件的字型和顏色之類的

           4,建立所有的元件

           5,將所有的元件都寫到不帶引數的建構函式中,按照排列的順序,一行一行新增,空著的位置需要建一個空標籤

 四、實現按鈕的功能

          按鈕1的名稱——實現按鈕1的功能——連線

         按鈕2的名稱——實現按鈕2的功能——清除

 五、將監聽新增到構造方法中

     注意:大容器監聽按鈕,即將按鈕新增到大容器中去

六、寫一個主類測試

在主類設定窗體可見

詳細程式碼

package Demo;

import java.awt.Font;
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Chuan extends JFrame implements ActionListener {
	/*
	 *屬性
	 *5個標籤,3個文字框,2個按鈕
	 *方法
	 *構造方法:帶引數 , 不帶引數
	 *監聽方法,將按鈕行為新增到窗體容器中去
	 */
	
	
	//屬性
	private JLabel j1,j2,j3,j4,j5;
	private JTextField t1,t2,t3;
	private JButton b1,b2;
	
	
	//方法
	
	public Chuan(JLabel j1, JLabel j2, JLabel j3, JLabel j4, JLabel j5, JTextField t1, JTextField t2, JTextField t3,
			JButton b1, JButton b2) throws HeadlessException {
		super();
		this.j1 = j1;
		this.j2 = j2;
		this.j3 = j3;
		this.j4 = j4;
		this.j5 = j5;
		this.t1 = t1;
		this.t2 = t2;
		this.t3 = t3;
		this.b1 = b1;
		this.b2 = b2;
	}
	
	
	public Chuan(String title) throws HeadlessException {
		super(title);
		this.setSize(600, 200);//窗體的大小
		this.setLayout(new GridLayout(3,5,5,5));//元件的佈局
		Font font=new Font("楷體", Font.ITALIC, 25);//設定元件的字型
		this.setFont(font);//將字型新增到窗體中
		
		//標籤
		this.j1=new JLabel("串1");
		this.j2=new JLabel("+");
		this.j3=new JLabel("串2");
		this.j4=new JLabel("=");
		this.j5=new JLabel("結果");
		
		//按鈕
		this.b1=new JButton("連線");
		this.b2=new JButton("清除");
		
		//文字框
		this.t1=new JTextField();
		this.t2=new JTextField();
		this.t3=new JTextField();
		
		//按順序新增元件到窗體中
		//第一行的標籤
		this.add(j1);
		this.add(new JLabel());
		this.add(j3);
		this.add(new JLabel());
		this.add(j5);
		//第二行的標籤和文字框
		this.add(t1);
		this.add(j2);
		this.add(t2);
		this.add(j4);
		this.add(t3);
		//第三行按鈕
		this.add(new JLabel());
		this.add(b1);
		this.add(new JLabel());
		this.add(b2);
		this.add(new JLabel());

		//新增監聽
		b1.addActionListener(this);
		b2.addActionListener(this);

		
	}


	@Override
	public void actionPerformed(ActionEvent arg0) {

		String nn;
		nn=arg0.getActionCommand();
		//System.out.println(b1);
		if(nn.equals("連線"))
		{
			String mm=t1.getText().concat(t2.getText());
			
			t3.setText(mm);
		}
		else {
			t1.setText(" ");
			t2.setText(" ");
			t3.setText(" ");
		}
	}


	


	

}
package Demo;

public class MAIN {
	public static void main(String[] args)
	{
		Chuan chuan=new Chuan("串求和");//窗體名稱
		chuan.setVisible(true);//設定窗體可見
	}

}