日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JAVA实验七 图形用户界面的设计与实现

發(fā)布時(shí)間:2024/1/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA实验七 图形用户界面的设计与实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、實(shí)驗(yàn)?zāi)康?/strong>
1.掌握?qǐng)D形界面設(shè)計(jì)。

2.掌握常用GUI控制組件及其事件處理。


二、實(shí)驗(yàn)內(nèi)容

1.編程包含一個(gè)標(biāo)簽和一個(gè)按鈕,單擊按鈕時(shí),標(biāo)簽的內(nèi)容在"你好"和"再見(jiàn)"之間切換。
2.設(shè)計(jì)一個(gè)窗口,窗口中包含有一個(gè)文本框,一個(gè)標(biāo)簽,兩個(gè)按鈕,當(dāng)按下“文本一”按紐時(shí),使得“Hello java!”顯示在文本框中,按下“文本二”按紐時(shí),使得“你好 Java!” 顯示在文本框中(要求兩個(gè)按紐之間使用網(wǎng)格布局,與其他組件共使用Frame默認(rèn)布局管理)。

3. 試設(shè)計(jì)一個(gè)窗口,內(nèi)含一個(gè)按鈕。開(kāi)始運(yùn)行時(shí),按鈕顯示“Click Me”字樣,當(dāng)按鈕按下時(shí),按鈕顯示為“Click Me Again”字樣,再按一次,則按鈕顯示“Click Me”字樣,依此循環(huán)。(1,2,3可以選作其一)

4.編程包含一個(gè)文本框和一個(gè)文本區(qū)域,在文本框中按回車鍵時(shí),把文本框的內(nèi)容寫入文本區(qū)域。

5.試設(shè)計(jì)一個(gè)窗口,窗口界面如下圖。包含Style菜單、Color菜單和Exit菜單,Style菜單設(shè)計(jì)字體的樣式(包括Plane、Bold、Italic),Color(紅、綠、藍(lán)、自定義)菜單設(shè)計(jì)字體的顏色、Exit菜單(CloseWindow)退出系統(tǒng)。



代碼實(shí)現(xiàn):

1.

方法一: package p;import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.*;public class T {public static void main(String[] args) {JFrame f=new JFrame();FlowLayout flow =new FlowLayout();f.setLayout(flow);//設(shè)置布局JButton b=new JButton("exchange");final JLabel j=new JLabel("hello");b.addActionListener(new ActionListener(){//利用匿名類public void actionPerformed(ActionEvent e) {if(j.getText().equals("hello"))j.setText("bye");else j.setText("hello");}});f.add(b); //先添加哪個(gè),哪個(gè)組件就會(huì)在前面f.add(j);f.setBounds(20,20,200,200);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);} }方法二: package cn.nefu.edu.cn;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.JLabel;public class MyWindow extends JFrame implements ActionListener{JButton bt;JLabel bq1;public MyWindow(){FlowLayout flow =new FlowLayout();this.setLayout(flow);bq1=new JLabel("bye");bt=new JButton("exchange");bt.addActionListener(this);//監(jiān)聽(tīng)本身,自身實(shí)現(xiàn)了接口ActionListenerthis.add(bt); this.add(bq1);validate();this.setBounds(20,20,200,200);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void actionPerformed(ActionEvent e) {//實(shí)現(xiàn)切換if(e.getSource()==bt){if(bq1.getText().equals("bye")) bq1.setText("hello");else bq1.setText("bye");}} }Test.java package cn.nefu.edu.cn;public class Test {public static void main(String[] args) {new MyWindow();} }



2.

方法一:


package cn.edu.nefu.zhihu;import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField;public class MyWindow2 extends JFrame implements ActionListener{JButton bt1;JButton bt2;JTextField wb;JLabel bq;public MyWindow2(){GridLayout grid=new GridLayout(2,2);this.setLayout(grid);wb=new JTextField();bq=new JLabel("name");bt1=new JButton("文本一");bt2=new JButton("文本二");this.add(bq);this.add(wb);this.add(bt1);this.add(bt2);bt1.addActionListener(this);bt2.addActionListener(this);this.setVisible(true);this.setBounds(30,30,300,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void actionPerformed(ActionEvent e) {if(e.getSource()==bt1){wb.setText("Hello java!");}else wb.setText("你好 Java!");} }package cn.edu.nefu.zhihu;public class Test2 {public static void main(String[] args) {new MyWindow2();} }

方法二:

package cn.edu.nefu.zhihu;import java.awt.BorderLayout;public class MyWindow2 extends JFrame implements ActionListener{JButton bt1;JButton bt2;JTextField wb;JLabel bq;JPanel mb;public MyWindow2(){mb=new JPanel();GridLayout grid=new GridLayout(1,2);mb.setLayout(grid);wb=new JTextField();bq=new JLabel("name");bt1=new JButton("文本一");bt2=new JButton("文本二");this.add(bq,BorderLayout.WEST);this.add(wb,BorderLayout.CENTER);mb.add(bt1);mb.add(bt2);this.add(mb,BorderLayout.SOUTH);bt1.addActionListener(this);bt2.addActionListener(this);this.setVisible(true);this.setBounds(30,30,300,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void actionPerformed(ActionEvent e) {if(e.getSource()==bt1){wb.setText("Hello java!");}else wb.setText("你好 Java!");} } package cn.edu.nefu.zhihu;public class Test2 {public static void main(String[] args) {//new Jisuanqi("計(jì)算器");new MyWindow2();} }


3.

package cn.edu.nefu.zhihu;import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JButton; import javax.swing.JFrame;public class MyWindow3 extends JFrame implements ActionListener{JButton an;MyWindow3(){an=new JButton("Click Me");this.add(an);an.addActionListener(this);this.setVisible(true);this.setBounds(50,50,200,150);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@Overridepublic void actionPerformed(ActionEvent arg0) {if(an.getText().equals("Click Me")){an.setText("Click Me Again");}else an.setText("Click Me");} }package cn.edu.nefu.zhihu;public class Test2 {public static void main(String[] args) {new MyWindow3();} }

4.
package cn.edu.nefu.zhihu;import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JFrame; import javax.swing.JTextArea; import javax.swing.JTextField;public class MyWindow4 extends JFrame implements ActionListener {JTextField t1;JTextArea t2;MyWindow4(){t1=new JTextField(20);t2=new JTextArea(20,10);this.add(t1,BorderLayout.WEST);this.add(t2,BorderLayout.CENTER);t1.addActionListener(this);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds(100,100,200,400);}@Overridepublic void actionPerformed(ActionEvent e) {if(e.getSource()==t1){t2.setText(t2.getText()+"\n"+t1.getText());t1.setText(" ");}}}package cn.edu.nefu.zhihu;public class Test2 {public static void main(String[] args) {new MyWindow4();} }


5.

package cn.edu.nefu.zhihu;import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem;public class MyWindow5 extends JFrame {JMenuBar menubar;JMenu menu1,menu2,menu3;JMenuItem item1,item2,item3,item4,item5,item6,item7,item8;public MyWindow5(String ss){this.setTitle(ss);this.setSize(200,250);this.setVisible(true);menubar=new JMenuBar();this.setJMenuBar(menubar);menu1=new JMenu("Style");menu2=new JMenu("Color");menu3=new JMenu("Exit");menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);item1=new JMenuItem("Plane");item2=new JMenuItem("Bold");item3=new JMenuItem("Italic");item4=new JMenuItem("Red");item5=new JMenuItem("Green");item6=new JMenuItem("Blue");item7=new JMenuItem("User-defined");item8=new JMenuItem("Close Window");menu1.add(item1);menu1.add(item2);menu1.add(item3);menu2.add(item4);menu2.add(item5);menu2.add(item6);menu2.add(item7);menu3.add(item8);validate();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);} }package cn.edu.nefu.zhihu;public class Test2 {public static void main(String[] args) {new MyWindow5("a Window");} }
6.

計(jì)算器的簡(jiǎn)易基本實(shí)現(xiàn),只能實(shí)現(xiàn)整數(shù)(小數(shù)的也可以,但是界面不太友好)的加減乘除四則運(yùn)算,且經(jīng)過(guò)每一次計(jì)算之后都要進(jìn)行清零,否則會(huì)計(jì)算有誤。

代碼實(shí)現(xiàn)如下:

package cn.edu.nefu.zhihu;import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField;public class Jisuanqi extends JFrame{JTextField wbk;JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;JButton b10,b11,b12,b13,b14;JButton b15,b16;JPanel mb;double acc=0;String yunSuanFu=null;public Jisuanqi(String ss){super(ss);wbk=new JTextField("0");b0=new JButton("0");b1=new JButton("1");b2=new JButton("2");b3=new JButton("3");b4=new JButton("4");b5=new JButton("5");b6=new JButton("6");b7=new JButton("7");b8=new JButton("8");b9=new JButton("9");b10=new JButton(".");b11=new JButton("+");b12=new JButton("-");b13=new JButton("*");b14=new JButton("/");b15=new JButton("=");b16=new JButton("C");mb=new JPanel();GridLayout grid=new GridLayout(4,4,4,12);mb.setLayout(grid);this.add(wbk,BorderLayout.NORTH);wbk.setHorizontalAlignment(JTextField.RIGHT);this.add(mb,BorderLayout.CENTER);mb.add(b1);mb.add(b2);mb.add(b3);mb.add(b11);mb.add(b4);mb.add(b5);mb.add(b6);mb.add(b12);mb.add(b7);mb.add(b8);mb.add(b9);mb.add(b13);mb.add(b0);mb.add(b10);mb.add(b15);mb.add(b14);this.add(b16,BorderLayout.SOUTH);A a=new A();b0.addActionListener(a);b1.addActionListener(a);b2.addActionListener(a);b3.addActionListener(a);b4.addActionListener(a);b5.addActionListener(a);b6.addActionListener(a);b7.addActionListener(a);b8.addActionListener(a);b9.addActionListener(a);b10.addActionListener(a);B b=new B();b11.addActionListener(b);b12.addActionListener(b);b13.addActionListener(b);b14.addActionListener(b);b15.addActionListener(new C());b16.addActionListener(new D());b16.setFont(new Font("宋體",Font.BOLD,28));this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds(300,300,250,325);}class A implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {String s=e.getActionCommand();//s為獲取該事件的字符串String ss=wbk.getText();//ss為文本框中的內(nèi)容if(ss.equals("0")||ss.equals("+")||ss.equals("-")||ss.equals("*")||ss.equals("/")){wbk.setText(s);}else{wbk.setText(ss+s);}}}class B implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {acc=Double.parseDouble(wbk.getText());yunSuanFu=e.getActionCommand();wbk.setText(e.getActionCommand());}}class C implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {String ss=wbk.getText();double sum1=Double.parseDouble(ss);if(yunSuanFu.equals("+"))wbk.setText(Double.toString(acc+sum1));if(yunSuanFu.equals("-"))wbk.setText(Double.toString(acc-sum1));if(yunSuanFu.equals("*"))wbk.setText(Double.toString(acc*sum1));if(yunSuanFu.equals("/"))wbk.setText(Double.toString(acc/sum1));}}class D implements ActionListener{@Overridepublic void actionPerformed(ActionEvent arg0) {wbk.setText("0");acc=0;}} }package cn.edu.nefu.zhihu;public class Test2 {public static void main(String[] args) {new Jisuanqi("計(jì)算器");} }

總結(jié)

以上是生活随笔為你收集整理的JAVA实验七 图形用户界面的设计与实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。