Java裏Swing的輸入框練習代碼(4)

文本標籤(JLabel

  • 代碼部分
package top.linksinke.test;

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.plaf.LabelUI;

/**
 * JLabel 標籤使用<br/>
 * create by LINKSINKE on 2020/2/28
 */
public class JLabelTest extends JFrame {
	public JLabelTest() {
		// 設置窗口的默認打開位置和大小
		this.setBounds(30, 30, 300, 300);
		// 設置close按鈕的操作
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container ctainer = this.getContentPane();// 獲取容器對象
		ctainer.setLayout(new FlowLayout());
		JLabel lb = new JLabel("標籤文本內容");// 創建lb對象
		lb.setFont(new Font("楷體", Font.BOLD, 20));// 設置字體樣式
		lb.setForeground(Color.RED);// 設置文本顏色
		lb.setBorder(BorderFactory.createLineBorder(Color.BLUE));// 設置邊框
		lb.setIcon(new ImageIcon("src/java.jpg"));// 設置圖片
		// 向容器中添加JLabel的實例對象lb
		ctainer.add(lb);
		// 設置窗口爲顯示狀態,false爲不顯示,true爲顯示
		this.setVisible(true);
	}

	public static void main(String[] args) {
		JLabelTest labelObj = new JLabelTest();
	}
}
  • 代碼效果圖
    在這裏插入圖片描述

文本輸入框(JTextField

  • 代碼部分
package top.linksinke.test;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

/**
 * JTextField 文本輸入框使用<br/>
 * create by LINKSINKE on 2020/2/28
 */
public class JTextFieldTest extends JFrame {

	public JTextFieldTest() {
		// 設置窗口打開的默認位置和大小
		this.setBounds(20, 20, 200, 200);
		// 設置close按鈕的操作
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		// 獲取容器對象
		Container ctainer = this.getContentPane();
		// 設置佈局方式爲流式佈局
		ctainer.setLayout(new FlowLayout());

		// 創建jtxt實例對象
		final JTextField jtxt = new JTextField();
		// 設置文本框長度爲10個字符
		jtxt.setColumns(10);

		// 創建一個jbtn實例對象
		JButton jbtn = new JButton("獲取文本框中的內容");
		// 給jbtn綁定一個監聽事件
		/**
		 * 該事件的作用:<br/>
		 * 1.點擊窗口上的按鈕爲"獲取文本框中的內容",<br/>
		 * 2.會輸出文本框中的文本內容,並且輸出到控制檯窗口中,<br/>
		 * 3.再重新清空文本框中的值,此過程會導致文本框失去焦點,需要通過requestFocus方法來重新設置焦點
		 */
		jbtn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.out.println(jtxt.getText());
				jtxt.setText("");// 清空文本框的內容
				jtxt.requestFocus();// 重新獲取焦點
			}
		});

		// 向容器中分別添加文本框jtxt和jbtn
		ctainer.add(jtxt);
		ctainer.add(jbtn);

		// 設置窗口是否顯示(true爲顯示,false爲不顯示)
		this.setVisible(true);
	}

	public static void main(String args[]) {
		JTextFieldTest frame = new JTextFieldTest();
	}
}
  • 代碼效果圖
    在這裏插入圖片描述

密碼輸入框(JPasswordField

  • 代碼部分
package top.linksinke.test;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPasswordField;

/**
 * JPasswordField 密碼框的使用<br/>
 * create by LINKSINKE on 2020/2/28
 */
public class JPasswordFieldTest extends JFrame {
	public JPasswordFieldTest() {
		// 設置默認打開窗口的位置 和大小
		this.setBounds(20, 20, 200, 200);
		// 設置close按鈕的操作(關閉窗口並停止程序運行)
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		// 獲取容器對象
		Container ctainer = this.getContentPane();
		ctainer.setLayout(new FlowLayout());
		// 創建jpwd實例對象
		final JPasswordField jpwd = new JPasswordField();
		// 設置密碼框的長度
		jpwd.setColumns(10);
		// 設置密碼框默認顯示的字符
		jpwd.setEchoChar('\u2602');
		// 監聽密碼框的事件,這個事件觸發是在按下回車鍵(Enter)後
		/**
		 * 給密碼框添加監聽事件,當按下回車鍵(Enter)後,將密碼框中的值給輸出到控制檯上面
		 */
		jpwd.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				char[] ch = jpwd.getPassword();
				System.out.println(new String(ch));
			}
		});

		// 向容器中添加jpwd
		ctainer.add(jpwd);

		// 設置窗口是否顯示,可選值true|false,其中true表示顯示窗口,false表示不顯示窗口
		this.setVisible(true);
	}

	public static void main(String args[]) {
		JFrame jframe = new JPasswordFieldTest();
	}
}

  • 代碼效果圖
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章