swing登錄注冊界面設(shè)計
本文實(shí)例為大家分享了swing登錄注冊界面展示的具體代碼,供大家參考,具體內(nèi)容如下
開發(fā)環(huán)境:Eclipse Neon.3 Release (4.6.3)
我用的為javaee版本的,為了便于設(shè)計界面,需要安裝windowbuilder插件,可以直接在marketplace里搜索到。
說明:參考凱哥視頻同步學(xué)習(xí)的
界面效果
登錄界面

注冊界面

關(guān)鍵技術(shù)
該項目用到了java swing外觀插件
用到了圖片(點(diǎn)擊src右鍵文件夾取名res并復(fù)制圖片login.jpg)
源碼
com.lsh.view.LoginDialog
package com.lsh.view;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.ImageIcon;
import javax.swing.border.TitledBorder;
import com.lsh.util.ImageScale;
@SuppressWarnings("serial")
public class LoginDialog extends JDialog {
private final JPanel contentPanel = new JPanel();
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
private static final int DIALOG_WIDTH=414;
private static final int DIALOG_HEIGHT=340;
private static final int DIALOG_HEIGHT_EXTEND=573;
/**
* Launch the application.
*/
public static void main(String[] args) {
try
{
org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
}
catch(Exception e)
{
//TODO exception
System.out.println("加載炫彩皮膚失?。?);
}
try {
LoginDialog dialog = new LoginDialog();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the dialog.
*/
public LoginDialog() {
setAlwaysOnTop(true);
setResizable(false);
setBounds(400, 100, DIALOG_WIDTH,DIALOG_HEIGHT);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
//設(shè)置居中
//setLocation(WindowXY.getXY(LoginDialog.this.getSize()));
JButton btnNewButton = new JButton("注 冊");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(LoginDialog.this.getHeight()==DIALOG_HEIGHT_EXTEND){
LoginDialog.this.setSize(DIALOG_WIDTH,DIALOG_HEIGHT);
}
else{
LoginDialog.this.setSize(DIALOG_WIDTH,DIALOG_HEIGHT_EXTEND);
}
}
});
btnNewButton.setBounds(53, 224, 93, 23);
contentPanel.add(btnNewButton);
JButton btnNewButton_1 = new JButton("登 錄");
btnNewButton_1.setBounds(190, 224, 93, 23);
contentPanel.add(btnNewButton_1);
textField = new JTextField();
textField.setBounds(133, 147, 150, 25);
contentPanel.add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setBounds(133, 182, 150, 25);
contentPanel.add(textField_1);
textField_1.setColumns(10);
JLabel lblNewLabel = new JLabel("郵 箱");
lblNewLabel.setBounds(53, 151, 54, 15);
contentPanel.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("密 碼");
lblNewLabel_1.setBounds(53, 194, 54, 15);
contentPanel.add(lblNewLabel_1);
JLabel lblNewLabel_2 = new JLabel("New label");
lblNewLabel_2.setBounds(0, 0, 360, 136);
ImageIcon icon=new ImageIcon(LoginDialog.class.getResource("/res/login.jpg"));
icon=ImageScale.getImage(icon, lblNewLabel_2.getWidth(), lblNewLabel_2.getHeight());
lblNewLabel_2.setIcon((icon));
contentPanel.add(lblNewLabel_2);
JPanel panel = new JPanel();
panel.setBorder(new TitledBorder(null, "\u6CE8\u518C\u7528\u6237", TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel.setBounds(12, 259, 336, 221);
contentPanel.add(panel);
panel.setLayout(null);
JLabel lblNewLabel_3 = new JLabel("郵 箱");
lblNewLabel_3.setBounds(41, 29, 55, 18);
panel.add(lblNewLabel_3);
JLabel lblNewLabel_4 = new JLabel("驗證碼");
lblNewLabel_4.setBounds(41, 85, 55, 18);
panel.add(lblNewLabel_4);
JLabel lblNewLabel_5 = new JLabel("密 碼");
lblNewLabel_5.setBounds(41, 115, 55, 18);
panel.add(lblNewLabel_5);
JLabel label = new JLabel("確認(rèn)密碼");
label.setBounds(41, 145, 55, 18);
panel.add(label);
textField_2 = new JTextField();
textField_2.setBounds(123, 22, 150, 25);
panel.add(textField_2);
textField_2.setColumns(10);
textField_3 = new JTextField();
textField_3.setBounds(123, 80, 150, 25);
panel.add(textField_3);
textField_3.setColumns(10);
textField_4 = new JTextField();
textField_4.setBounds(123, 113, 150, 25);
panel.add(textField_4);
textField_4.setColumns(10);
textField_5 = new JTextField();
textField_5.setBounds(123, 145, 150, 25);
panel.add(textField_5);
textField_5.setColumns(10);
JButton btnNewButton_2 = new JButton("發(fā)送驗證碼");
btnNewButton_2.setBounds(123, 52, 83, 23);
panel.add(btnNewButton_2);
JButton btnNewButton_3 = new JButton("取 消");
btnNewButton_3.setBounds(51, 182, 83, 27);
panel.add(btnNewButton_3);
JButton btnNewButton_4 = new JButton("確 認(rèn)");
btnNewButton_4.setBounds(190, 182, 83, 27);
panel.add(btnNewButton_4);
}
}
工具類 com.lsh.util.ImageScale
package com.lsh.util;
import java.awt.Image;
import javax.swing.ImageIcon;
public class ImageScale {
public static ImageIcon getImage(ImageIcon icon,int width,int height){
Image image=icon.getImage().getScaledInstance(width, height,Image.SCALE_REPLICATE);
icon.setImage(image);
return icon;
}
}
工具類 com.lsh.util.WindowXY
package com.lsh.util;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Toolkit;
public class WindowXY {
public static Point getXY(int w,int h){
Toolkit toolkit=Toolkit.getDefaultToolkit();
int width=toolkit.getScreenSize().width;
int height=toolkit.getScreenSize().height;
return new Point((width-w)/2,(height-h)/2);
}
public static Point getXY(Dimension dimension) {
return getXY(dimension.width, dimension.height);
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot實(shí)現(xiàn)郵件服務(wù)(附:常見郵箱的配置)
這篇文章主要給大家介紹了關(guān)于Spring Boot實(shí)現(xiàn)郵件服務(wù)的相關(guān)資料,文中還附上了常見郵箱的配置,通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
使用Hibernate根據(jù)實(shí)體類自動生成表的方法
這篇文章主要介紹了使用Hibernate根據(jù)實(shí)體類自動生成表的方法,該篇提供了兩種方法,可以根據(jù)需要選擇其一,希望對你有所幫助,如有不對的地方還望指正2023-03-03
Java解決浮點(diǎn)數(shù)計算不精確問題的方法詳解
在 Java 中,浮點(diǎn)數(shù)計算不精確問題指的是使用浮點(diǎn)數(shù)進(jìn)行運(yùn)算時,由于浮點(diǎn)數(shù)的內(nèi)部表示方式和十進(jìn)制數(shù)的表示方式存在差異,導(dǎo)致計算結(jié)果可能出現(xiàn)誤差,本文就給大家介紹一下Java如何解決浮點(diǎn)數(shù)計算不精確問題,需要的朋友可以參考下2023-09-09
Java結(jié)合redis實(shí)現(xiàn)接口防重復(fù)提交
本文主要介紹了Java結(jié)合redis實(shí)現(xiàn)接口防重復(fù)提交,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
java通過Excel批量上傳數(shù)據(jù)的實(shí)現(xiàn)示例
Excel批量上傳是常見的一種功能,本文就來介紹一下java通過Excel批量上傳數(shù)據(jù)的實(shí)現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2023-10-10
java 轉(zhuǎn)發(fā)和重定向區(qū)別及實(shí)例代碼
這篇文章主要介紹了java 轉(zhuǎn)發(fā)和重定向區(qū)別及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-11-11
Java?Web項目中解決中文亂碼方法總結(jié)(三種最新方法)
這篇文章主要介紹了Java?Web項目中解決中文亂碼方法總結(jié),本文給大家分享三種最新解決方法,需要的朋友可以參考下2022-06-06

