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

java代碼設(shè)置界面 java怎么設(shè)計(jì)的界面怎么運(yùn)行

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

一: 首先弄清題目的意思

創(chuàng)新互聯(lián)建站是一家專業(yè)提供邯鄲企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為邯鄲眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

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),?

方法一: 絕對布局 , 優(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做個(gè)如下界面

對于窗口的左側(cè)部分,存在幾種可能, ?1: 可能是工具欄里的按鈕 2: 可能是選項(xiàng)卡 3: 一個(gè)按鈕

三種可能性我寫了三種參考代碼.(建議對問題的描述更加清晰,這樣可以得到更貼切的回答)

參考代碼一(選項(xiàng)卡)

import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;

public?class?TabbedPaneDemo?extends?JFrame?{

public?TabbedPaneDemo()?{

initMenuBar();//初始化菜單

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

jp1.setBackground(Color.RED);

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

jp2.setBackground(Color.BLUE);

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

jp3.setBackground(Color.GREEN);

JTabbedPane?jtp?=?new?JTabbedPane(JTabbedPane.LEFT);//選項(xiàng)卡面板,選項(xiàng)卡標(biāo)題靠右

jtp.add("選項(xiàng)卡一",?jp1);

jtp.add("選項(xiàng)卡二",?jp2);

jtp.add("選項(xiàng)卡三",?jp3);

add(jtp);

setSize(300,?200);//窗口大小

setLocationRelativeTo(null);//居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//點(diǎn)擊關(guān)閉按鈕就退出

}

private?void?initMenuBar()?{

JMenuBar?jmb?=?new?JMenuBar();

JMenu?jm1=new?JMenu("系統(tǒng)");

JMenuItem?item1=new?JMenuItem("退出");

item1.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

System.exit(0);//點(diǎn)擊退出?菜單項(xiàng)時(shí),?結(jié)束程序

}

});

jm1.add(item1);

JMenu?jm2?=?new?JMenu("幫助");

jmb.add(jm1);

jmb.add(jm2);

setJMenuBar(jmb);//設(shè)置本窗口的菜單欄

}

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

SwingUtilities.invokeLater(new?Runnable()?{

public?void?run()?{

new?TabbedPaneDemo().setVisible(true);//創(chuàng)建窗口并設(shè)置可見

}

});

}

}

參考代碼二(工具欄)

import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;

//?主窗口??繼承自JFrame

public?class?DemoFrame?extends?JFrame?implements?ActionListener?{

JTextPane?jtpInfo;

JPanel?jpCenter;

static?final?String[]?INFO?=?{?"星型結(jié)構(gòu)是最古老的一種連接方式。",?"環(huán)型結(jié)構(gòu)在LAN中使用較多。"?};

//?構(gòu)造器

public?DemoFrame()?{

initMenuBar();//?菜單欄的初始化

initComponent();//?組件的初始化

initToolBar();//?工具欄的初始化

initFrame();//?窗口的設(shè)置

}

private?void?initFrame()?{//?窗口的設(shè)置

setTitle("窗口標(biāo)題");

setSize(500,?420);

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

private?void?initComponent()?{//?組件初始化

jtpInfo?=?new?JTextPane();

jpCenter?=?new?JPanel();

jpCenter.setBackground(Color.CYAN);

jpCenter.add(new?JTextField(8));

jpCenter.add(new?JButton("確認(rèn)"));

}

private?void?initToolBar()?{//?初始化工具欄

JToolBar?jtb?=?new?JToolBar("工具欄",?JToolBar.VERTICAL);

JButton?jb1?=?new?JButton("星型拓?fù)?);

jb1.addActionListener(this);

JButton?jb2?=?new?JButton("環(huán)形拓?fù)?);

jb2.addActionListener(this);

JButton?jb3?=?new?JButton("其他資料");

jb3.addActionListener(this);

jtb.add(jb1);

jtb.add(jb2);

jtb.add(jb3);

add(jtb,?BorderLayout.WEST);

}

//?初始化菜單欄,并添加事件響應(yīng)機(jī)制

private?void?initMenuBar()?{

JMenuBar?jmb?=?new?JMenuBar();

JMenu?jm1?=?new?JMenu("系統(tǒng)");

JMenuItem?item1?=?new?JMenuItem("新建");

item1.addActionListener(this);//?給菜單項(xiàng)要添加Action事件的響應(yīng)器,本來實(shí)現(xiàn)了ActionListener接口,所以直接添加本類作為響應(yīng)器

JMenuItem?item2?=?new?JMenuItem("退出");

item2.addActionListener(this);

jm1.add(item1);

jm1.addSeparator();//?兩個(gè)菜單項(xiàng)中間的分割線

jm1.add(item2);

JMenu?jm2?=?new?JMenu("幫助");

//?給菜單要添加鼠標(biāo)事件響應(yīng)器

jm2.addMouseListener(new?MouseAdapter()?{

@Override

public?void?mousePressed(MouseEvent?e)?{//?(鼠標(biāo)按下時(shí))彈出對話框

JOptionPane.showMessageDialog(null,?"版本Ver1.0\n使用說明:關(guān)于網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)");

;

}

});

jmb.add(jm1);

jmb.add(jm2);

setJMenuBar(jmb);//?設(shè)置窗口的菜單欄

}

//?實(shí)現(xiàn)ActionListener接口,需要重寫的方法

@Override

public?void?actionPerformed(ActionEvent?e)?{

String?cmd?=?e.getActionCommand();//?通過按鈕的Command來判斷是哪一個(gè)按鈕被點(diǎn)擊了

if?(cmd.equals("新建"))?{

JOptionPane.showMessageDialog(null,?"新建菜單項(xiàng)被點(diǎn)擊了");

//?do?something

}?else?if?(cmd.equals("退出"))?{

System.exit(0);

}?else?if?(cmd.equals("星型拓?fù)?))?{

remove(jpCenter);//?刪除組件

add(jtpInfo);//?添加文本組件

jtpInfo.setText(INFO[0]);//?設(shè)置文字

SwingUtilities.updateComponentTreeUI(this);//?刷新

}?else?if?(cmd.equals("環(huán)形拓?fù)?))?{

remove(jpCenter);

add(jtpInfo);

jtpInfo.setText(INFO[1]);

SwingUtilities.updateComponentTreeUI(this);

}?else?if?(cmd.equals("其他資料"))?{

remove(jtpInfo);

add(jpCenter);

SwingUtilities.updateComponentTreeUI(this);

}?else?{

System.out.println(cmd);

}

}

//?main方法,程序入口

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

SwingUtilities.invokeLater(new?Runnable()?{

public?void?run()?{

new?DemoFrame().setVisible(true);

}

});

}

}

參考代碼三

import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;

public?class?SimpleDemo?extends?JFrame?implements?ActionListener{

JPanel?jp1;

public?SimpleDemo()?{

initMenuBar();

JPanel?jpWest?=?new?JPanel();

JButton?jb?=?new?JButton("拓?fù)?);

jb.addActionListener(this);

jpWest.add(jb);

jp1?=?new?JPanel();

jp1.setBackground(Color.RED);

jp1.setVisible(false);

add(jp1);

add(jpWest,?BorderLayout.WEST);

setSize(300,?200);//?窗口大小

setLocationRelativeTo(null);//?居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//?點(diǎn)擊關(guān)閉按鈕就退出

}

private?void?initMenuBar()?{

JMenuBar?jmb?=?new?JMenuBar();

JMenu?jm1?=?new?JMenu("系統(tǒng)");

JMenuItem?item1?=?new?JMenuItem("退出");

item1.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

System.exit(0);//?點(diǎn)擊退出?菜單項(xiàng)時(shí),?結(jié)束程序

}

});

jm1.add(item1);

JMenu?jm2?=?new?JMenu("幫助");

jmb.add(jm1);

jmb.add(jm2);

setJMenuBar(jmb);//?設(shè)置本窗口的菜單欄

}

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

SwingUtilities.invokeLater(new?Runnable()?{

public?void?run()?{

new?SimpleDemo().setVisible(true);//?創(chuàng)建窗口并設(shè)置可見

}

});

}

@Override

public?void?actionPerformed(ActionEvent?e)?{

jp1.setVisible(!jp1.isVisible());

}

}

急求!??!如何用java程序代碼實(shí)現(xiàn)計(jì)算器界面

package?jisuanqi_new;

import?java.awt.*;

import?java.awt.event.*;

public?class?JiSuanQi_new?implements?ActionListener

{

Panel?p1;//聲明面板p1

TextField?t1;//聲明文本行t1

String[]?label?=?{"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};//聲明標(biāo)簽數(shù)組label1存放按鈕上的標(biāo)簽

Button[]?b;//聲明按鈕數(shù)組存放16個(gè)按鈕

private?int?i;//聲明i以備后用

private?String?op1?=?"0";//運(yùn)算數(shù)備用

private?String?operator?=?"+";//運(yùn)算符備用

private?boolean?append?=?false;//備用

public?JiSuanQi_new()//構(gòu)造方法

{

t1=new?TextField();//初始化文本行t1

b?=?new?Button[label.length];//初始化按鈕數(shù)組b

p1=new?Panel();//初始化面板p1

p1.setLayout(new?GridLayout(4,4,4,4));//使面板選擇網(wǎng)格布局管理器以備儲(chǔ)存16個(gè)按鈕(4行4列)

for(int?i=0;ib.length;i++)//利用for循環(huán)把標(biāo)簽放在按鈕上,使每個(gè)按鈕添加事件監(jiān)聽器,在面板p1上添加上16個(gè)按鈕

{

b[i]?=?new?Button(label[i]);//把標(biāo)簽依次放在16個(gè)按鈕上

b[i].addActionListener(this);//使每個(gè)按鈕添加動(dòng)作事件監(jiān)聽器

p1.add(b[i]);?//分別將按鈕添加到面板p1上

}

Frame?f=new?Frame("計(jì)算器1.0");//初始化窗口f,起名字計(jì)算器1.0

f.setLayout(new?BorderLayout());//為窗口選擇邊界布局管理器

f.add(BorderLayout.NORTH,t1);//把文本行他添加到窗口的北部

f.add(BorderLayout.CENTER,p1);//把面吧p1添加到窗口的中間

f.addWindowListener(new?WindowAdapter(){//給窗口f添加窗口事件監(jiān)聽器

public?void?windowClosing(WindowEvent?eve){//運(yùn)行窗口關(guān)閉方法

System.exit(0);//退出程序

}

});

f.setSize(250,?250);//設(shè)置窗口大小

f.setLocation(200,200);

f.setVisible(true);//顯示窗口

}

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

{

new?JiSuanQi_new();?//調(diào)用構(gòu)造方法

}

public?void?actionPerformed(ActionEvent?ae)

{//按鈕被操作發(fā)生

String?comm?=?ae.getActionCommand();//返回與此動(dòng)作相關(guān)的命令字符串,即:使用者第一次點(diǎn)擊的按鈕是什么。

if("0123456789".indexOf(comm)!=-1)//如果相關(guān)命令字符串為0~9之間的數(shù)字則執(zhí)行

{

if(append){

String?temp?=?t1.getText();//新數(shù)字

t1.setText(temp+comm);

}else{?????????????????????????//因?yàn)榇藭r(shí)append為false執(zhí)行這個(gè)

t1.setText(comm);?//將文本行t1設(shè)置為相關(guān)命令字符串(你按中的按鈕代碼)

append?=??true;//此時(shí)append=true若繼續(xù)按按鈕若繼續(xù)按數(shù)字的話1.第一次的按話不會(huì)改變2.非第一次按得話會(huì)覆蓋之前按得數(shù)字(即缺點(diǎn):只能進(jìn)行單個(gè)數(shù)字的計(jì)算)

}

}

else?if(("+-*/".indexOf(comm)!=-1))//如果相關(guān)命令字符串為+-*/之間的數(shù)字則執(zhí)行

{

//保存

//t1.setText(comm);

op1?=?t1.getText();//把第一個(gè)數(shù)賦值給op1

operator?=?comm;//把命令字符串賦值給operator

append?=?false;//此時(shí)append為false即若繼續(xù)按按鈕若按數(shù)字的話將重復(fù)上面的動(dòng)作,按符號(hào)的話將覆蓋之前的符號(hào)

}

else?if("=".equals(comm))//如果按的是=號(hào),則按條件進(jìn)行下面的運(yùn)算

{

String?op2?=?t1.getText();//op2第二個(gè)數(shù)

double?d1?=?Double.parseDouble(op1);

double?d2?=?Double.parseDouble(op2);

if(operator.equals("+")){

d1?=?d1?+?d2?;

}else?if(operator.equals("-")){

d1?=?d1?-?d2;

}else?if(operator.equals("*")){

d1?=?d1?*?d2;

}else?{

d1?=?d1?/?d2;

}

t1.setText(d1+"");//顯示計(jì)算結(jié)果

append?=?false;

}

else?if(".".equals(comm))//若是.號(hào)繼續(xù)按

{

String?temp?=?t1.getText();

if(temp.indexOf(".")==-1){

t1.setText(temp+".");

append?=?true;

}

}

}

}

網(wǎng)頁名稱:java代碼設(shè)置界面 java怎么設(shè)計(jì)的界面怎么運(yùn)行
文章路徑:http://jinyejixie.com/article18/ddisjgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、虛擬主機(jī)動(dòng)態(tài)網(wǎng)站、小程序開發(fā)、ChatGPT、電子商務(wù)

廣告

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

微信小程序開發(fā)
广水市| 乳源| 延边| 诏安县| 买车| 阿勒泰市| 阜城县| 澎湖县| 泗水县| 沽源县| 都昌县| 吴桥县| 丰都县| 耒阳市| 广河县| 工布江达县| 永修县| 沙坪坝区| 静海县| 漳浦县| 济宁市| 旌德县| 澄江县| 万山特区| 奈曼旗| 文安县| 大厂| 泾川县| 万山特区| 金沙县| 海淀区| 靖远县| 文昌市| 霍州市| 商南县| 桐柏县| 寿阳县| 新源县| 崇明县| 保定市| 呈贡县|