文本標籤(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();
}
}
- 代碼效果圖