Java 實現介面的字串連線操作
阿新 • • 發佈:2018-12-24
實現如下介面
詳細過程
一、建立一個類繼承窗體類並實現監聽介面
二、屬性:
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);//設定窗體可見
}
}