成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java設(shè)計(jì)網(wǎng)頁(yè)的代碼,java編寫網(wǎng)頁(yè)

用java寫一個(gè)登陸界面代碼。

概述

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、康保ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的康保網(wǎng)站制作公司

具體框架使用jframe,文本框組件:JTextField;密碼框組件:JPasswordField;標(biāo)簽組件:JLabel;復(fù)選框組件:JCheckBox;單選框組件:JRadioButton;按鈕組件JButton。

登錄界面:

代碼實(shí)例

import javax.swing.*;

import java.awt.*; ? //導(dǎo)入必要的包

public class denglu extends JFrame{

JTextField jTextField ;//定義文本框組件

JPasswordField jPasswordField;//定義密碼框組件

JLabel jLabel1,jLabel2;

JPanel jp1,jp2,jp3;

JButton jb1,jb2; //創(chuàng)建按鈕

public denglu(){

jTextField = new JTextField(12);

jPasswordField = new JPasswordField(13);

jLabel1 = new JLabel("用戶名");

jLabel2 = new JLabel("密碼");

jb1 = new JButton("確認(rèn)");

jb2 = new JButton("取消");

jp1 = new JPanel();

jp2 = new JPanel();

jp3 = new JPanel();

//設(shè)置布局

this.setLayout(new GridLayout(3,1));

jp1.add(jLabel1);

jp1.add(jTextField);//第一塊面板添加用戶名和文本框

jp2.add(jLabel2);

jp2.add(jPasswordField);//第二塊面板添加密碼和密碼輸入框

jp3.add(jb1);

jp3.add(jb2); //第三塊面板添加確認(rèn)和取消

// ? ? ? ?jp3.setLayout(new FlowLayout()); ?//因?yàn)镴Panel默認(rèn)布局方式為FlowLayout,所以可以注銷這段代碼.

this.add(jp1);

this.add(jp2);

this.add(jp3); ?//將三塊面板添加到登陸框上面

//設(shè)置顯示

this.setSize(300, 200);

//this.pack();

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

this.setTitle("登陸");

}

public static void main(String[] args){

new denglu();

}

}

拓展內(nèi)容

java swing包

Swing 是一個(gè)為Java設(shè)計(jì)的GUI工具包。

Swing是JAVA基礎(chǔ)類的一部分。

Swing包括了圖形用戶界面(GUI)器件如:文本框,按鈕,分隔窗格和表。

Swing提供許多比AWT更好的屏幕顯示元素。它們用純Java寫成,所以同Java本身一樣可以跨平臺(tái)運(yùn)行,這一點(diǎn)不像AWT。它們是JFC的一部分。它們支持可更換的面板和主題(各種操作系統(tǒng)默認(rèn)的特有主題),然而不是真的使用原生平臺(tái)提供的設(shè)備,而是僅僅在表面上模仿它們。這意味著你可以在任意平臺(tái)上使用JAVA支持的任意面板。輕量級(jí)組件的缺點(diǎn)則是執(zhí)行速度較慢,優(yōu)點(diǎn)就是可以在所有平臺(tái)上采用統(tǒng)一的行為。

概念解析:

JFrame?– java的GUI程序的基本思路是以JFrame為基礎(chǔ),它是屏幕上window的對(duì)象,能夠最大化、最小化、關(guān)閉。

JPanel?– Java圖形用戶界面(GUI)工具包swing中的面板容器類,包含在javax.swing 包中,可以進(jìn)行嵌套,功能是對(duì)窗體中具有相同邏輯功能的組件進(jìn)行組合,是一種輕量級(jí)容器,可以加入到JFrame窗體中。。

JLabel?– JLabel 對(duì)象可以顯示文本、圖像或同時(shí)顯示二者。可以通過設(shè)置垂直和水平對(duì)齊方式,指定標(biāo)簽顯示區(qū)中標(biāo)簽內(nèi)容在何處對(duì)齊。默認(rèn)情況下,標(biāo)簽在其顯示區(qū)內(nèi)垂直居中對(duì)齊。默認(rèn)情況下,只顯示文本的標(biāo)簽是開始邊對(duì)齊;而只顯示圖像的標(biāo)簽則水平居中對(duì)齊。

JTextField?–一個(gè)輕量級(jí)組件,它允許編輯單行文本。

JPasswordField?– 允許我們輸入了一行字像輸入框,但隱藏星號(hào)(*) 或點(diǎn)創(chuàng)建密碼(密碼)

JButton?– JButton 類的實(shí)例。用于創(chuàng)建按鈕類似實(shí)例中的 "Login"。

用Java設(shè)計(jì)一個(gè)登錄頁(yè)面,不用連接數(shù)據(jù)庫(kù),只要把用戶和密碼信息存放在文本里面,怎樣設(shè)計(jì)代碼???

/* Main.java

*

* Created on __DATE__, __TIME__

*/

import javax.swing.JOptionPane;

/**

*

* @author __USER__

*/

public class Main extends javax.swing.JFrame {

/** Creates new form Main */

public Main() {

initComponents();

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

//GEN-BEGIN:initComponents

// editor-fold defaultstate="collapsed" desc="Generated Code"

private void initComponents() {

jPanel1 = new javax.swing.JPanel(); //標(biāo)簽

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton(); //登錄按鈕

jButton2 = new javax.swing.JButton(); //

jTextField1 = new javax.swing.JTextField(); //文本框

jTextField2 = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); //關(guān)閉時(shí)的操作,即退出程序

setTitle("登錄界面"); //設(shè)置標(biāo)題:歡迎使用股票管理系統(tǒng)

setResizable(false); //設(shè)置窗口不可調(diào)節(jié)大小

jLabel1.setFont(new java.awt.Font("微軟雅黑", 0, 18)); //設(shè)置標(biāo)簽的字體

jLabel1

.setText("您好,請(qǐng)輸入信息");

jLabel2.setText("用戶名");

jLabel3.setText("用戶密碼");

jButton1.setText("登錄");

jButton1.addActionListener(new java.awt.event.ActionListener() { //采用匿名內(nèi)部類來實(shí)現(xiàn)按鈕監(jiān)聽功能

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jButton2.setText("退出");

jButton2.addActionListener(new java.awt.event.ActionListener() { //同上

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout( //層次布局管理器,下面n長(zhǎng)的代碼,就是設(shè)置位置,自己看吧,呵呵,這個(gè)必須的,就不多寫了

jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout

.setHorizontalGroup(jPanel1Layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

javax.swing.GroupLayout.Alignment.TRAILING,

jPanel1Layout.createSequentialGroup()

.addContainerGap(159, Short.MAX_VALUE)

.addComponent(jLabel1).addGap(140, 140,

140))

.addGroup(

jPanel1Layout

.createSequentialGroup()

.addGap(110, 110, 110)

.addGroup(

jPanel1Layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel2)

.addComponent(jLabel3))

.addGap(54, 54, 54)

.addGroup(

jPanel1Layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

jPanel1Layout

.createSequentialGroup()

.addComponent(

jTextField2,

javax.swing.GroupLayout.DEFAULT_SIZE,

191,

Short.MAX_VALUE)

.addGap(

112,

112,

112))

.addGroup(

jPanel1Layout

.createSequentialGroup()

.addComponent(

jTextField1,

javax.swing.GroupLayout.PREFERRED_SIZE,

191,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap())))

.addGroup(

jPanel1Layout

.createSequentialGroup()

.addGap(141, 141, 141)

.addComponent(

jButton1,

javax.swing.GroupLayout.PREFERRED_SIZE,

68,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(89, 89, 89)

.addComponent(

jButton2,

javax.swing.GroupLayout.PREFERRED_SIZE,

72,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(145, Short.MAX_VALUE)));

jPanel1Layout

.setVerticalGroup(jPanel1Layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

jPanel1Layout

.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel1)

.addGap(55, 55, 55)

.addGroup(

jPanel1Layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel2)

.addComponent(

jTextField1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(41, 41, 41)

.addGroup(

jPanel1Layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel3)

.addComponent(

jTextField2,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(43, 43, 43)

.addGroup(

jPanel1Layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(

jButton1,

javax.swing.GroupLayout.PREFERRED_SIZE,

33,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(

jButton2,

javax.swing.GroupLayout.PREFERRED_SIZE,

33,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(48, Short.MAX_VALUE)));

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(

getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING).addGroup(

layout.createSequentialGroup().addContainerGap().addComponent(

jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addContainerGap()));

layout.setVerticalGroup(layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING).addGroup(

layout.createSequentialGroup().addContainerGap().addComponent(

jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)));

pack();

setLocationRelativeTo(null); //居中

}// /editor-fold

//GEN-END:initComponents

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { //事件處理,不建議這樣做

// TODO add your handling code here:

String name = this.jTextField1.getText().trim(); //獲得用戶名,去空格

String password = this.jTextField2.getText().trim(); //獲得密碼,去空格

if (name.equals("admin") password.equals("123456")) { //如果符合條件.....其實(shí)這里應(yīng)該去和數(shù)據(jù)庫(kù)關(guān)聯(lián),這是死代碼

// Showinformation sf=new Showinformation(); //我估計(jì)是另外一個(gè)框架,就是登錄成功之后的框架

// sf.setVisible(true);

// sf.show(); //這個(gè)方法就直接秒殺,不用了,因?yàn)閟f.setVisible(true)已經(jīng)被調(diào)用了,這里就多次一舉了

} else { //用戶名或者密碼驗(yàn)證失敗

JOptionPane.showMessageDialog(this, "用戶名或者密碼錯(cuò)誤啦~", "提示", //提示框

JOptionPane.INFORMATION_MESSAGE);

this.jTextField1.setText(""); //清空輸入框

this.jTextField2.setText("");

}

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { //事件處理,其實(shí)可以將jButton1ActionPerformed放在一起處理,只要獲得按鈕的標(biāo)簽內(nèi)容 (JButton)(evt.getSuorse()).getText()就做對(duì)比就ko了

// TODO add your handling code here:

System.exit(0);

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() { //好方法,呵呵使用該方式的原因是:awt是單線程模式的,所有awt的組件只能在(推薦方式)事件處理線程中訪問,從而保證組件狀態(tài)的可確定性。java核心編程技術(shù)中每個(gè)實(shí)例基本都用到了

public void run() {

new Main().setVisible(true);

}

});

}

//GEN-BEGIN:variables

// Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JPanel jPanel1;

private javax.swing.JTextField jTextField1;

private javax.swing.JTextField jTextField2;}

// End of variables declaration//GEN-END:variables

你修改一下吧,從記事本獲得用戶名判斷一下就行了

Java 用戶界面設(shè)計(jì) 求界面代碼

一: 首先弄清題目的意思

A.需要的主要組件列表:

1. ?創(chuàng)建一個(gè)窗口,窗口標(biāo)題叫Information

2. ?3個(gè)標(biāo)簽, 用于顯示文字 Name Number Class

3. ?3個(gè)文本框, 用于填寫信息

4. ?1個(gè)按鈕, ?文字是確認(rèn)

5. ?1個(gè)文本域

B.業(yè)務(wù)邏輯

1. 當(dāng)點(diǎn)擊按鈕確認(rèn)的時(shí)候, 把 文本框的信息顯示到文本域

C.設(shè)計(jì)的主要技術(shù)

JLabel , JButton, JTextField ...等, 都是swing的組件 , ?所以應(yīng)該使用swing進(jìn)行創(chuàng)建

二: ?確定使用的布局

swing雖然重寫了大部分的組件, 但是布局, 依舊沿襲awt技術(shù)

分析圖片上的布局:

至少有2種方法可以實(shí)現(xiàn),?

方法一: 絕對(duì)布局 , 優(yōu)點(diǎn): ?配合可視化GUI拖曳, 可以完美的實(shí)現(xiàn)圖上的組件的位置

但是缺點(diǎn)也是致命的, 不同的操作系統(tǒng)平臺(tái)下, 可能會(huì)出現(xiàn)位置的移動(dòng),

只適合開發(fā)平臺(tái), 移植效果差 . ?所以不推薦使用

方法二: 靈活的表格布局, 配合流式布局 , 所有操作系統(tǒng)下,顯示效果都比較統(tǒng)一.?

三: 效果圖

四: 參考代碼

import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;

public?class?FrameDemo?extends?JFrame?{

//申明需要的組件

private?final?JTextField?jtf1,jtf2,jtf3;

private?final?JTextArea?jta;

public?FrameDemo()?{

setTitle("Information");//設(shè)置窗口標(biāo)題

setSize(320,?360);//設(shè)置窗口大小

setLocationRelativeTo(null);//設(shè)置窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//設(shè)置關(guān)閉時(shí)退出虛擬機(jī)

getContentPane().setLayout(new?FlowLayout());//設(shè)置窗口布局為流式布局

JPanel?jp?=?new?JPanel(new?GridLayout(4,?2));//設(shè)置jp面板為表格布局4行2列

//第一行

JPanel?jp01?=?new?JPanel();

JLabel?jl1?=?new?JLabel("Name:");

jp01.add(jl1);

JPanel?jp1?=?new?JPanel();

jtf1?=?new?JTextField(8);

jp1.add(jtf1);

//第二行

JPanel?jp02?=?new?JPanel();

JLabel?jl2?=?new?JLabel("Number:");

jp02.add(jl2);

JPanel?jp2?=?new?JPanel();

jtf2?=?new?JTextField(8);

jp2.add(jtf2);

//第三行

JPanel?jp03?=?new?JPanel();

JLabel?jl3?=?new?JLabel("Class:");

jp03.add(jl3);

JPanel?jp3?=?new?JPanel();

jtf3?=?new?JTextField(8);

jp3.add(jtf3);

//第四行

JPanel?jp04?=?new?JPanel();

JLabel?jl4?=?new?JLabel("");

jp04.add(jl4);

JPanel?jp4?=?new?JPanel();

JButton?jb?=?new?JButton("確認(rèn)");

jp4.add(jb);

jp.add(jp01);

jp.add(jp1);

jp.add(jp02);

jp.add(jp2);

jp.add(jp03);

jp.add(jp3);

jp.add(jp04);

jp.add(jp4);

getContentPane().add(jp);

jta?=?new?JTextArea();

jta.setColumns(20);//設(shè)置文本域的大小

jta.setEditable(false);//設(shè)置文本域不可編輯

jta.setBackground(jp.getBackground());//設(shè)置文本域的背景色和面板一樣

getContentPane().add(jta);

jb.addActionListener(new?ActionListener()?{//給按鈕添加事件

public?void?actionPerformed(ActionEvent?e)?{//點(diǎn)擊按鈕,顯示信息到文本域

String?name?=?jtf1.getText();

String?number?=?jtf2.getText();

String?clazz?=?jtf3.getText();

jta.setText("You?name?is?"+name+"?number?is?"+number+"?class?is?"+clazz);

}

});

}

public?static?void?main(String[]?args)?{

new?FrameDemo().setVisible(true);//創(chuàng)建窗口,被設(shè)置為可見

}

}

五: 拓展

雖然圖形界面的實(shí)現(xiàn)方法是多樣的, ?我們一定要根據(jù)具體情況, 選擇一個(gè)比較優(yōu)化的 合理的, 符合業(yè)務(wù)邏輯的實(shí)現(xiàn)方法

怎么用java來編寫網(wǎng)頁(yè)

怎么用java來編寫網(wǎng)頁(yè),目前比較流行的是SSH(struts2+spring+hibernate)框架。其實(shí)只要有servlet和JSP基礎(chǔ)就可以實(shí)現(xiàn),框架只是高效的開發(fā)和管理。

推薦使用SSH框架進(jìn)行開發(fā)。

使用struts2來實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),他的標(biāo)簽也可以寫JSP界面。

使用hibernate來進(jìn)行數(shù)據(jù)庫(kù)操作的封裝,進(jìn)行自動(dòng)管理。

使用spring可以整合以上兩個(gè),使控制權(quán)轉(zhuǎn)移給spring,這個(gè)就是控制反轉(zhuǎn)。

具體頁(yè)面怎么寫,這個(gè)多看下工具書不難。前臺(tái)頁(yè)面可以使用HTML來寫,解析速度快,并且頁(yè)面開發(fā)難度低,排版效果好。

附上SSH實(shí)例參考文獻(xiàn):

網(wǎng)頁(yè)名稱:java設(shè)計(jì)網(wǎng)頁(yè)的代碼,java編寫網(wǎng)頁(yè)
文章URL:http://jinyejixie.com/article42/dssisec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、靜態(tài)網(wǎng)站網(wǎng)站維護(hù)、網(wǎng)站排名營(yíng)銷型網(wǎng)站建設(shè)、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
洛阳市| 高邑县| 淳安县| 东方市| 綦江县| 阜平县| 南木林县| 辉县市| 来安县| 龙陵县| 唐山市| 铁岭县| 利川市| 商丘市| 万年县| 昆山市| 唐山市| 彩票| 离岛区| 上虞市| 斗六市| 正安县| 东海县| 仪征市| 南江县| 靖江市| 永平县| 新郑市| 定西市| 铅山县| 于田县| 福鼎市| 武功县| 库伦旗| 临朐县| 德保县| 承德县| 岳西县| 大竹县| 恭城| 枞阳县|