Java图形用户界面编程练习
java实验5图形用户界面设计试验

java实验5图形⽤户界⾯设计试验常⽤布局1)、流布局: FlowLayout 从左到右,⾃上⽽下⽅式在容器中排列,控件的⼤⼩不会随容器⼤⼩变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、⽹格布局: GridLayout 按照指定⾏数与列数,将容器分成⼤⼩相等的单元格每个单元格放置⼀个控件. 不能将控件放在指定单元格 容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局: BorderLayout 将容器分成东、西、南、北、中五个部分 容器.setLayout(new BorderLayout()); 窗⼝的内容⾯板默认布局就是边界布局。
容器.add(控件,BorderLayout.NORTH);4)、混合布局: 使⽤JPanel,将多个布局组合在⼀起使⽤5)、绝对布局 null: 以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);常⽤事件1)、事件源 EventSource:能够触发事件控件如:JButton,JTextField,JFrame,JComboBox,....2)、事件 Event:ActionEvent,KeyEvent,WindowEvent,TextEvent,...3)、事件侦听者Listener(接⼝) ActionListener,WindowListener,...class A implements ActionListener{public void actionPerformed(ActionEvent e){....}}A lis=new A();4)、事件处理函数public void actionPerformed(ActionEvent e){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->⾃动调⽤相应事件处理函数.实践编程1.在应⽤程序窗体中安排1个⽂本框,⼀个标签。
JAVA第四章课后习题解答

txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(5); btn1=new Button("+"); btn2=new Button("-"); btn3=new Button("*"); btn4=new Button("÷");
public class Test4_9 extends Frame implements ActionListener{ Button btn; public Test4_9(){ super("弹出窗口练习"); setSize(300,200);
5
setVisible(true); setLayout(new BorderLayout());
TextField txtFl1,txtFl2,txtFl3;
2
Button btn; public Test4_6(){
super("简单加法运算器"); setSize(300,200); setVisible(true); setLayout(new FlowLayout());
txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(10); btn=new Button("=");
JavaGUI编程创建漂亮的用户界面

JavaGUI编程创建漂亮的用户界面JavaGUI编程是一种强大的工具,它可以帮助开发者创建漂亮、直观的用户界面。
在本文中,我将为您介绍如何使用JavaGUI编程来设计和实现一个令人印象深刻的用户界面。
一、选择合适的图形库在开始编写JavaGUI程序之前,我们需要选择一个合适的图形库。
Java提供了多种图形库选项,包括Swing、JavaFX等。
在这里,我将以Swing为例进行演示。
二、设计用户界面设计用户界面是实现漂亮用户界面的第一步。
在设计过程中,我们应该考虑到用户的需求和使用习惯,使界面具有良好的可用性和可访问性。
以下是一些设计原则可以帮助您创建漂亮的用户界面:1. 简洁明了:界面应该简洁明了,避免过多的干扰元素和复杂的图形。
2. 色彩搭配:选择适合的颜色搭配,使界面看起来舒适和谐。
同时要注意颜色的对比度,以确保文字和界面元素的可读性。
3. 布局:合理的布局可以使界面更加整洁美观。
可以使用不同的布局管理器(如FlowLayout、GridBagLayout等)来帮助您实现布局。
4. 图标和图片:适当使用图标和图片可以增加界面的吸引力。
选择高质量的图标和图片,确保其分辨率和大小适合当前界面的需求。
5. 文字字体:选择易读的字体和合适的字号。
正文通常使用宋体、微软雅黑等,标题可以选择一些特殊的字体以增加视觉效果。
三、编写代码一旦您完成了用户界面的设计,接下来就是编写代码来实现这个界面。
下面是一个简单的示例,展示如何使用Swing来创建一个基本的用户界面。
```javaimport javax.swing.*;import java.awt.*;public class GUIExample {public static void main(String[] args) {JFrame frame = new JFrame("漂亮的用户界面");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);JPanel panel = new JPanel();panel.setLayout(new FlowLayout());JLabel label = new JLabel("欢迎使用漂亮的用户界面!");label.setFont(new Font("宋体", Font.BOLD, 18));JButton button = new JButton("点击我");button.setPreferredSize(new Dimension(100, 50));panel.add(label);panel.add(button);frame.getContentPane().add(panel);frame.setVisible(true);}}```上述代码演示了如何创建一个简单的用户界面,其中包括一个标签和一个按钮。
实验五 Java的图形用户界面

实验五Java的图形用户界面
一、实验目的与要求
1.掌握AWT包中常用组件的使用方法。
2.熟悉布局管理器的适用场合,采用布局管理器进行界面的布局。
二、实验内容
1.程序改错
下列程序都有三个错误,按题中的要求,纠正错误并调试程序。
(1)问题描述:下面程序执行时会发生错误,请修改并调试程序。
程序的功能是在屏幕上输出如图5-9所示的图案,图案中每个方格大小是20*20像素。
2、P258实验五程序改错第一题。
3、编程题:设计一个Applet程序sy5_2.java,界面如图5-13所示,其中有两个按钮,当输入完姓名和密码内容后,按“确认”按钮出现图5-14所示界面,当按下“重新输入”按钮,又回到图5-13所示界面。
提示:用两个面板组件,第一个面板放3个标签和两个文本域,第二个面板放两个按钮。
图5-13
图5-14。
GUI练习题

图形与用户界面设计一.选择题1.Window是宣示屏上独立的本机窗口,它独立于其它容器,Window 的两种形式是()A、Frame和Dialog??????B、Panel和FrameC、Container和ComponentD、LayoutManager和Container2.框架(Frame)的缺省布局管理器就是()A、流程布局(Flow Layout)B、卡布局(Card Layout)C、边框布局(Border Layout)D、网格布局(Grid Layout)3.java.awt包提供了基本的java程序的GUI设计工具,包含控件、容器和()A、布局管理器B、数据传送器C、图形和图像工具D、用户界面构件4.所有Swing构件都实现了()接口A、ActionListener ???B、SerializableC、AccessibleD、MouseListener5.事件处理机制能够让图形界面响应用户的操作,主要包括()A、事件B、事件处理C、事件源D、以上都是6.Swing采用的设计规范是????()A、视图----模式----控制B、模式-----视图---控制C、控制-----模式----视图D、控制----视图-----模式7.抽象窗口工具包( )是java提供的建立图形用户界面GUI的开发包.A、AWTB、SwingC、Java.ioD、ng8.关于使用Swing的基本规则,下列说法正确的是( )A、Swing构件可直接添加到顶级容器中B、要尽量使用非Swing的重要级构件C、Swing的JButton不能直接放到Frame上D、以上说法都对9.下列不属于java.event包中定义的事件适配器的是( )A、构件适配器B、焦点适配器C、键盘适配器D、标签适配器10.( )布局管理器使容器中各个构件呈网格布局,平均占据容器空间。
A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout11.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变( )A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout12.paint()方法使用哪种类型的参数A、GraphicsB、Graphics2 DC、StringD、 Color13.监听事件和处理事件( )?????A、都由Listener完成B、都由相应事件Listener处注册过的组件完成C、由Listener和组件分别完成D、由Listener和窗口分别完成14.下列哪个属于容器的组件( )A、JFrameB、JButtonC、JPnelD、 Japplet15.下列不属于容器的是( )A、WindowB、TextBoxC、PanelD、ScrollPane16.下面哪个语句是正确的( )A、Object o=new Button(″A″);B、Button b=new Object(″B″);C、Panel p=new Frame();D、Frame f=new Panel();二.填空题1、在需要自定义Swing构件的时候,首先要确定使用那种构件类作为所定制构件的______,一般继承Jpanel类或更具体的Swing类.2、Swing的事件处理机制包括_____、事件和事件处理者。
等级考试二级JAVA考点分析之编写图形用户界面

9.1⽤AWT编写图形⽤户界⾯考点1:编写图形⽤户界⾯ (1)编写图形⽤户界⾯要⽀持跨平台。
(2)Java图形界⾯开发包的发展经历了两个阶段:AWT和Swing。
(3)Java采⽤构件思想开发图形⽤户界⾯。
(4)编写图形⽤户界⾯的基本步骤:⾸先确定界⾯中的构件如何放置,然后使构件响应⽤户的操作,最后掌握各种构件的外观及能响应的⽤户操作。
考点:2java.awt包简介 (1)java.awt包可⽤于编写Java Application和Applet的图形⽤户界⾯。
(2)java.awt包提供的图形⽤户界⾯的功能有:⽤户界⾯构件、事件处理模型、图形和图像⼯具、布局管理器和数据传送。
(3 ) java.awt包含有3个主要的类:构件、容器和布局管理器。
(4) Java.awt包中的类和接⼝主要有AWTEvent, Font, Component, Graphics , MenuComponent,以及各种布局管理器。
考点:3构件(Component) 作为Java图形⽤户界⾯的最基本组成部分,构件是⼀个可以在屏幕上与⽤户交互的以图形⽅式出现的可视化对象。
(1) java.awt.Component类提供了构件类的定义。
(2)构件不能独⽴于容器显⽰出来。
(3)编写⼀般的⽤户界⾯程序使⽤的构件都是Component的⼦类。
(4) Component类的⽅法有:getFont()、getName()、getSize()、paint(Graphics g)、repaint)和update()等。
考点:4容器(Container) Container是Component的⼦类,具有构件的所有性质,并且能够放置基他容器和构件· (1)java.awt.Container类提供了容器类的定义。
(2)⼀个容器能够容纳若⼲个构件。
(3)不同的构件通过调⽤add()⽅法将⾃⼰加⼊相应的容器中。
(3)java练习(GUI程序设计)

一、单项选择题(总分70)1. (分值:1.4 分)以下不属于文字字型要素的是A: 颜色B: 字体C: 风格D: 字号2. (分值:1.4 分)Java 代码g.drawLine(100,100,100,100)的功能是A: 画一个圆B: 画一条线段C: 画一个点D: 代码是错误的3. (分值:1.4 分)能处理鼠标拖动和移动两种事件的接口是A: ActionListenerB: ItemListenerC: MouseListenerD: MouseMotionListener4. (分值:1.4 分)Java 语言的图像处理功能所在的类是A: PictureB: ImageC: pictureD: image5. (分值:1.4 分)当启动Applet 程序时,首先调用的方法是A: stop()B: init()C: start()D: destroy()6. (分值:1.4 分)在Java 程序中定义一个类,类中有一个没有访问权限修饰的方法,则此方法A: 类外的任何方法都能访问它B: 类外的任何方法都不能访问它C: 类的子类和同包类能访问它D: 只有类和同包类才能访问它7. (分值:1.4 分)在Java 中,有关菜单的叙述错误的是A: 下拉式菜单通过出现在菜单条上的名字来可视化表示B: 菜单条通常出现在JFrame 的顶部C: 菜单中的菜单项不能再是一个菜单D: 每个菜单可以有许多菜单项8. (分值:1.4 分)在Java Applet 程序中,如果对发生的事件做出响应和处理的时候,应该使用的语句是()A: import java.awt.*;B: import java.applet.*;C: import java.awt.event.*;D: import java.io.*;9. (分值:1.4 分)在Java 中,线程的调度策略采用A: 分时式B: 抢占式C: 非分时式D: 非抢占式10. (分值:1.4 分)包含当事件发生时从源传递给监视器的特定事件信息的对象是()A: 事件对象B: 源对象C: 监视器对象D: 接口11. (分值:1.4 分)在Java 中,获取选择框是否被选中的方法是()A: getSelect()B: getSelected()C: isSelect()D: isSelected()12. (分值:1.4 分)要为程序中的按钮button 设置一个热键alt+A,可以采用的代码是()A: button.setMnemonic( )B: button.setMnemonic("alt+A")C: button.setToolTipText( A )D: button.setToolTipText("alt+A")13. (分值:1.4 分)在Java 中,设置字型应使用Graphics 的()方法。
java基础编程练习题

Java基础编程练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 编写一个Java程序,判断一个整数是奇数还是偶数。
5. 编写一个Java程序,交换两个变量的值。
二、控制结构1. 使用ifelse语句判断一个年份是否为闰年。
2. 编写一个Java程序,使用for循环输出1到100的所有偶数。
3. 使用while循环计算1+2+3++100的和。
4. 编写一个Java程序,使用dowhile循环输出1到10的所有整数。
5. 使用switch语句实现一个简单的计算器程序,支持加、减、乘、除四种运算。
三、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。
2. 编写一个Java程序,计算数组中所有元素的和。
3. 实现一个方法,用于查找数组中的最大值。
4. 编写一个Java程序,将一个字符串数组按照字母顺序排序。
5. 使用二维数组输出一个5x5的乘法表。
四、字符串操作1. 编写一个Java程序,连接两个字符串。
2. 实现一个方法,判断一个字符串是否为回文。
3. 编写一个Java程序,将字符串中的所有小写字母转换为大写字母。
4. 使用StringBuilder类实现字符串的逆序输出。
5. 编写一个Java程序,计算一个字符串中某个字符出现的次数。
五、面向对象基础1. 创建一个名为Person的类,包含姓名、年龄和性别属性,并提供相应的构造方法和getter/setter方法。
2. 编写一个Java程序,实现两个Person对象的比较(按年龄比较)。
3. 创建一个Student类,继承自Person类,并添加成绩属性。
4. 编写一个Java程序,实现Student类的多态。
5. 创建一个接口Animal,包含吃、睡觉和叫三个方法,然后创建两个类Dog和Cat实现该接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八Java图形用户界面编程练习实验目的1、掌握 Java 的 GUI 设计技术2、掌握 AWT 和 Swing 的应用技巧实验要求1、编写一个程序学习使用处理ActiongEvent事件2、编写一个程序学习使用布局类实验内容1.猜数字游戏实验目的:练习图形用户界面编程,学习处理ActionEvent事件。
实用要求:要求程序中要有2个按钮buttonGetNumber和buttonNumber,用户单击buttonGetNumber 按钮可以得到一个随机数,然后在文本框中输入猜测数字,再单击buttonNumber按钮,程序根据用户的猜测给出提示信息。
运行效果示例:程序模板:按模板要求,将【代码】替换为Java程序代码。
GuessExample.javaimport java.awt.*;import java.awt.event.*;import java.applet.*;public class GuessExample extends Applet implements ActionListener {int number;TextField inputNumber;Label feedBack;Button buttonGetNumber,buttonEnter;public void init(){buttonGetNumber=new Button("得到一个随机数");feedBack=new Label ("无反馈信息",Label.CENTER);feedBack.setBackground(Color.green);inputNumber=new TextField("0",5);buttonEnter=new Button("确定");【代码1】//按钮buttonEnter增加ActionEvent事件监视器,监视器为当前Java Applet。
【代码2】//按钮buttonGetNumber增加ActionEvent事件监视器,监视器为当前Java Applet。
add(new Label("获取1-100之间的随机数:"));add(buttonGetNumber);add(new Label("输入您的猜测:"));add(inputNumber);add(new Label("单击确定按钮:"));add(buttonEnter);add(new Label("反馈信息:"));add(feedBack);}public void actionPerformed(ActionEvent e){if(【代码3】) //判断事件源是否是buttonGetNumber。
{number=(int)(Math.random()*100)+1;}else if(【代码4】) //判断事件源是否是buttonEnter。
{int guess=0;try {guess=Integer.parseInt(【代码5】); //返回inputNumber中的文本。
if(guess==number){【代码6】//feedBack设置提示文本:"猜对了!"。
}else if(guess>number){【代码7】//feedBack设置提示文本:"猜大了!。
inputNumber.setText(null);}else if(guess<number){【代码8】//feedBack设置提示文本:"猜小了!。
inputNumber.setText(null);}}catch(NumberFormatException event){【代码9】 //feedBack设置提示文本:"请输入数字字符"。
}}}}实验后的练习:1、将给上述程序增加记录猜测次数的功能,每次反馈这是第几次猜测,当猜测成功时反馈一共猜测了几次。
2.布局和日历实验目的:学习使用布局类实用要求:利用Swing编写一个GUI程序,JFrame使用BorderLayout布局。
在JFrame的中心添加一个Panel容器pCenter, pCenter的布局是7行7列的GridLayout布局,pCenter中放置49个标签,用来显示日历。
JFrame的北面添加一个Panel容器pNorth,其布局是FlowLayout 布局,pNorth放置两个按钮nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth按钮,可以显示当前月的上一月的日历。
JFrame 的南面添加一个Panel容器pSouth,其布局也是FlowLayout,pSouth中放置一个标签来显示一些日历信息。
运行效果示例:程序模板:按模板要求,将【代码】替换为Java程序代码。
CalendarExample.javaimport java.util.*;import java.awt.*;import java.awt.event.*;import java.applet.*;import javax.swing.*;public class CalendarExample extends JFrame implements ActionListener{JLabel a[]=new JLabel[42];JButton titleName[]=new JButton[7];String name[]={"星期日","星期一","星期二","星期三", "星期四","星期五","星期六"};JButton nextMonth,previousMonth;int year=2008,month=1;CalendarBean calendar;JLabel showMessage=newJLabel("",JLabel.CENTER);public CalendarExample(){【代码1】//将Java Applet的布局设置为BorderLayout 布局。
JPanel pCenter=new JPanel();【代码2】//将pCenter的布局设置为7行7列的GridLayout 布局。
for(int i=0;i<7;i++){titleName[i]=new JButton(name[i]);【代码3】//向pCenter添加组件titleName[i]。
}for(int i=0;i<42;i++){a[i]=new JLabel("",JLabel.CENTER);【代码4】//向pCenter添加组件a[i]。
}calendar=new CalendarBean();calendar.setYear(year);calendar.setMonth(month);String day[]=calendar.getCalendar();for(int i=0;i<42;i++){a[i].setText(day[i]);}nextMonth=new JButton("下月");previousMonth=new JButton("上月");【代码5】//为nextMonth按钮添加Action事件监听器。
【代码6】//为previousMonth按钮添加Action事件监听器。
JPanel pNorth=new JPanel(),pSouth=new JPanel();pNorth.add(previousMonth);pNorth.add(nextMonth);pSouth.add(showMessage);showMessage.setText("日历:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" );ScrollPane scrollPane=new ScrollPane();scrollPane.add(pCenter);【代码7】// 将scrollPane添加到Frame的中心区域。
【代码8】// 将pNorth添加到Frame的北面区域。
【代码9】// 将pSouth添加到Frame的南区域。
}public static void main(String[] args){【代码9】//实现main方法,显示日历界面,同时在关闭界面时退出程序。
}public void actionPerformed(ActionEvent e){if(e.getSource()==nextMonth){month=month+1;if(month>12)month=1;calendar.setMonth(month);String day[]=calendar.getCalendar();for(int i=0;i<42;i++){a[i].setText(day[i]);}}else if(e.getSource()==previousMonth){month=month-1;if(month<1)month=12;calendar.setMonth(month);String day[]=calendar.getCalendar();for(int i=0;i<42;i++){a[i].setText(day[i]);}}showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );}}class CalendarBean{String day[];int year=2008,month=0;public void setYear(int year){this.year=year;}public int getYear(){return year;}public void setMonth(int month){this.month=month;}public int getMonth(){return month;}public String[] getCalendar(){String a[]=new String[42]; //存放日期的一维数组。