1. 程式人生 > >課後練習----實現窗口的切換

課後練習----實現窗口的切換

仿qq ble 不知道 frame tex 原本 wing ima per

package win;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class work implements ActionListener {
    JFrame f;
    JPanel p,p1;
    JButton b,b1;
    JLabel l,l1,l2;
    JTextField t;
    JPasswordField s;
    
public work() { f = new JFrame("QQ"); p = new JPanel(); p1 = new JPanel(); b = new JButton("註冊"); b1 = new JButton("登錄"); b1.setForeground(Color.red); t = new JTextField(); s = new JPasswordField(); t.setBounds(110,82,200,28); s.setBounds(
110,140,200,28); p.setLayout( null ); p1.setLayout(null); b.setBounds(90, 210, 80, 25); b1.setBounds(240, 210, 80, 25); b.addActionListener(this); b1.addActionListener(this); l = new JLabel("賬號"); l1 = new JLabel("密碼"); l2 = new JLabel("恭喜你,登錄成功!"); l2.setBounds(
130, 15, 150, 60); l.setBounds(75, 80, 80, 30); l1.setBounds(75, 140, 80, 30); p.add(b); p.add(b1); p.add(l); p.add(l1); p.add(t); p.add(s); p.setBackground(new Color(240,248,255)); p1.add(l2); f.add(p); f.setLocation(430,198); f.setVisible(true); f.setSize(435, 324); b1.setFont(new Font("仿宋", Font.BOLD, 13)); b.setFont(new Font("仿宋", Font.BOLD, 13)); } public static void main(String args[]) { new work(); } public void actionPerformed(ActionEvent e) { f.setVisible(false); //設置當前窗體不可見 JFrame f1 = new JFrame("QQ");//創建一個新的窗體 f1.setVisible(true); f1.add(p1); p1.add(l2); f1.setLocation(430,198); f1.setSize(450,180); p1.setBackground(new Color(230,230,250)); } }

技術分享圖片 技術分享圖片

總結:

在編寫窗口切換的過程中我一開始並不知道應該如何實現窗口的切換,還有就是如何在點擊按鈕後使老窗口不可見,後來在不斷的調試中,發現在事件處理時將原來的窗口不可見之後再新建一個窗口是一個可行的方法。我原本是打算模仿QQ界面的操作,但是QQ的程序實現比較復雜,這個程序也只是一個非常簡易的界面,實現的功能也非常有限。還有我遇到的問題就是如何點擊不同的按鈕可以實現不同的功能以及如何設置qq界面的背景圖等等。窗口切換只是其中的一個功能,還有很多功能需要不斷的加強與實現。

我在寫這個程序的過程中最大的收獲就是程序功能應該是在不斷的實踐中實現的,在這編寫程序的過程中有很多東西都是不熟悉以及不熟練的,我在不斷的練習當中越來越熟練,並且在不斷的學習當中改進。

課後練習----實現窗口的切換