java_图形界面_布局管理_边界布局_JFrame
- 格式:docx
- 大小:14.60 KB
- 文档页数:3
jframe的构造方法JFrame是Java语言中javax.swing包下的一个类,用于创建窗口界面。
构造方法是用来创建JFrame对象的初始化方法。
JFrame的构造方法有多种形式,我们将逐一介绍这些构造方法及其使用。
1. JFrame()这是JFrame类最基本的构造方法,可以创建一个不带标题的窗口。
使用这个构造方法创建的窗口将没有标题栏,只有一个空内容区域。
示例:```javaJFrame frame = new JFrame();```2. JFrame(String title)这个构造方法可以创建一个带有标题的窗口。
通过传入一个字符串作为参数,可以设置窗口的标题栏显示内容。
示例:```javaJFrame frame = new JFrame("My Window");```3. JFrame(GraphicsConfiguration gc)这个构造方法可以创建一个具有指定图形配置的窗口。
通过传入一个GraphicsConfiguration对象,可以设置窗口的显示配置,例如全屏显示或多显示器环境下显示。
示例:```javaGraphicsEnvironment ge =GraphicsEnvironment.getLocalGraphicsEnvironment();GraphicsDevice gd = ge.getDefaultScreenDevice();GraphicsConfiguration gc = gd.getDefaultConfiguration();JFrame frame = new JFrame(gc);```4. JFrame(String title, GraphicsConfiguration gc)这个构造方法可以创建一个带有标题和指定图形配置的窗口。
通过传入标题字符串和GraphicsConfiguration对象,可以同时设置窗口的标题栏和显示配置。
java的jframe用法Java的Swing库提供了丰富的图形用户界面(GUI)组件,使得开发桌面应用程序变得更加简单。
在这些组件中,JFrame是用于创建窗口的主要组件。
本文将详细介绍JFrame的用法。
一、创建JFrame对象要创建一个JFrame对象,只需使用JFrame类的一个构造函数。
例如,以下代码将创建一个默认大小的窗口:```javaimport javax.swing.JFrame;public class MyFrame extends JFrame {public static void main(String[] args) {JFrame frame = new JFrame();}}```二、设置窗口属性JFrame对象提供了许多方法来设置窗口的属性。
以下是一些常用的方法:1. setTitle(String title):设置窗口的标题。
2. setSize(int width, int height):设置窗口的大小。
3. setLocation(int x, int y):设置窗口的初始位置。
4. setDefaultCloseOperation(int closeOperation):设置窗口关闭时执行的操作。
默认值为JFrame.DISPOSE_ON_CLOSE,表示窗口被销毁。
还可以设置为JFrame.HIDE_ON_CLOSE,表示窗口被隐藏。
5. setVisible(boolean visible):设置窗口是否可见。
默认值为true,表示窗口在创建后立即显示。
以下是一个简单的示例:```javaimport javax.swing.JFrame;public class MyFrame extends JFrame {public static void main(String[] args) {JFrame frame = new JFrame();frame.setTitle("My Frame");frame.setSize(400, 300);frame.setLocation(300, 200);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}```三、添加组件到JFrameJFrame可以容纳其他Swing组件,如按钮、文本框、标签等。
Java语言程序设计
教案
系部
教研室
课程名称Java语言程序设计适用班级
主讲教师
职称
课程基本信息
课程类型:计算机科学与技术专业与软件工程专业的专业必修课
课程教学总时数:48
教材:《Java语言程序设计》第4版,清华大学出版社
教学内容:本课程主要介绍Java编程技术,涉及具体内容包括面向对象编程方法,图形界面设计和事件接口处理,多线程并行运算,网络编程基础和数据库连接技术,异常错误处理机制等。
要求学生具有掌握Java语言和面向对象思想,并具有使用Java类库编写J2SE应用程序的能力。
课程的目的和任务:本课程是一门帮助学生掌握面向对象程序设计思想的基础性课程。
该课程一般在第二学年第一学期开设,以理论教学为主,配合一定的随堂实验环节。
通过本课程的教学,使学生能够初步运用Java技术和基本开发工具进行计算机程序设计。
培养学生用面向对象程序设计思想进行编程,启发学生的创新意识,提高学生在软件设计过程中分析问题和解决问题的实际动手能力,使学生的理论知识和实践技能得到共同发展。
课程特点:实践性较强,需要理论联系实际。
考核方式:课程考核最终成绩采用百分制,具体由以下几个部分组成:
平时成绩:以作业、实验为评分内容,占总成绩20%;
考勤成绩:以课堂考勤为评分内容,占总成绩10%;
期中成绩:闭卷考试,占总成绩30%;
期末成绩:闭卷考试,占总成绩40%。
成绩必须达到60分以上才能取得本门课程学分。
实验九Java图形用户界面设计(1)一实验目的(1)掌握Frame与面板的使用(2)布局管理器的使用(3)布局管理器的使用(4)边界风格的使用(5)掌握简单Java事件的处理二实验内容1、创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。
在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。
采用FlowLayout布局管理器。
程序:import java.awt.*;import javax.swing.*;public class Con1{private JFrame f;private JButton b1,b2,b3,b4,b5,b6,b7,b8;public static void main(String args[]){Con1 c=new Con1();c.go();}public void go(){f=new JFrame("My Frame");Container con=f.getContentPane();con.setLayout(new FlowLayout());con.setBackground(Color.white);con.setLayout(new FlowLayout(FlowLayout.RIGHT,920,50));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");con.add(b1); c on.add(b2); c on.add(b3); c on.add(b4);con.add(b5); c on.add(b6); c on.add(b7); c on.add(b8);f.setSize(1000,1000);f.setVisible(true);}}结果:2、编写一个java程序,在程序中生成一个框架窗口,设置窗口的布局管理器为网格式布局管理器,往窗口中加入9个按钮程序:结果:3、编写一个java程序,单击窗口的“关闭”按钮时退出程序,使用BorderFactory的静态方法创建边界,运行效果如下图所示:结果:4、构造一个Frame窗口,单击窗口的“关闭”按钮时退出程序(参考JFrame的setDefaultCloseOperation方法);Frame中包含一个“Presss Me”按钮,单击该按钮,在控制台显示单击次数:“你已经单击按钮X次!”。
一、单选题1、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( )A.CardLayoutB.GridLayoutC.Border LayoutD.FlowLayout正确答案:D2、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?()A.BoxLayoutB.GridLayoutC.BorderLayoutD.FlowLouLayout正确答案:B3、下列不属于Swing中组件的是( )。
A.JPanelB.JTableC.JMenuD.JFrame正确答案:C4、对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。
A.创建两个单选框对象时定义相同的对象名B.将两个单选框对象放在同一个面板上C.定义一个ButtonGroup对象group,将两个单选框对象加到group 中D.让两个单选框排成一行或一列正确答案:C5、在基于Swing的图形用户界面设计中,面板属于( )。
A.顶层容器B.中间级容器C.窗格D.原子组件正确答案:B6、以下对框架的描述不正确的是()。
A.框架是Swing的顶级容器组件B.框架是一个图形界面程序的主窗口C.框架一般包括标题栏、最小化最大化关闭按钮以及边框等D.一个图形界面程序只能有一个框架正确答案:D7、在Swing中,下列出的面板的作用中,错误的是()。
A.放置并排列组件B.显示背景图案C.接收事件D.显示面板的边框正确答案:C8、在Swing中,如何设置组件的边框?()A.通过根窗格的setBorder函数设置某各组件的边框B.通过内容窗格的setBorder函数设置某各组件的边框C.通过组件的setBorder函数设置D.通过框架的setBorder函数设置某各组件的边框正确答案:C9、以下关于框架和其他窗口之间的关系中,错误的是()。
A.对话框必须依附于某个框架B.当框架最小化时,所有依附于它的窗口也会最小化C.框架是一个程序的主窗口,每个具有图形界面的程序都至少要有一个框架D.内部框架也是顶级容器组件正确答案:D10、JWindow是宣示屏上独立的本机窗口,它独立于其它容器,JWindow的两种形式是()。
jframe的pack方法摘要:1.JFrame 简介2.pack 方法的作用3.pack 方法的参数4.pack 方法的使用示例5.常见问题及解决方案6.总结正文:JFrame 是Java 中的一个重要组件,用于创建图形用户界面(GUI)。
在JFrame 中,pack 方法是一个常用方法,用于调整窗口的大小并优化布局。
本文将详细介绍JFrame 的pack 方法,包括其作用、参数和使用示例,以及常见问题及解决方案。
1.JFrame 简介JFrame 是Java Swing 中的顶级容器,继承自javax.swing.JRootPane。
它提供了用户与程序交互的界面,可以包含各种组件,如按钮、文本框、标签等。
JFrame 默认无边框,可以通过设置边界样式来改变窗口的外观。
2.pack 方法的作用pack 方法主要用于调整JFrame 窗口的大小,并根据容器内的组件进行优化。
当调用pack 方法时,JFrame 会计算其内部组件的最小尺寸,以确保在调整窗口大小时,组件能够正确显示。
此外,pack 方法还会触发容器内的组件布局,从而使调整后的窗口尺寸更加合理。
3.pack 方法的症状pack 方法接受以下参数:- width:窗口的宽度。
如果未设置宽度,JFrame 会根据其内部组件自动计算宽度。
- height:窗口的高度。
如果未设置高度,JFrame 会根据其内部组件自动计算高度。
- modal:布尔值,表示窗口是否为模态窗口。
默认为false,表示非模态窗口。
- visible:布尔值,表示窗口是否可见。
默认为true,表示窗口可见。
4.pack 方法的使用示例以下是一个使用pack 方法的示例:```javaimport javax.swing.JFrame;import javax.swing.JPanel;public class Main {public static void main(String[] args) {JFrame frame = new JFrame("JFrame 示例");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);frame.setLayout(new JPanel());// 添加组件for (int i = 0; i < 10; i++) {JButton button = new JButton("按钮" + i);frame.getContentPane().add(button);}// 调整窗口大小frame.pack();// 设置窗口位置并显示frame.setLocationRelativeTo(null);frame.setVisible(true);}}```5.常见问题及解决方案- 问题:调用pack 方法后,窗口无法立即显示正确大小。
swing jframe的用法(一)Swing JFrame用法详解介绍Swing是Java的一个GUI工具包,提供了一系列的组件用于创建用户界面。
JFrame是Swing中用于创建顶层窗口的类,它提供了一些方法和属性来自定义和管理窗口的外观和行为。
基本用法以下是一些使用Swing JFrame的基本用法,可以作为快速入门的参考:•创建一个空的JFrame对象:JFrame frame = new JFrame();•设置JFrame的标题:("My JFrame");•设置JFrame的大小:(500, 300);•设置Jframe窗口在屏幕上的位置:(null);•设置JFrame的关闭操作:(_ON_CLOSE);•添加其他组件到JFrame中:(component);•显示JFrame:(true);设置布局管理器布局管理器用于控制组件在容器中的位置和大小。
Swing提供了几种常用的布局管理器可以选择,如FlowLayout、BorderLayout和GridLayout等。
以下是设置布局管理器的用法:•使用FlowLayout布局管理器:(new FlowLayout());•使用BorderLayout布局管理器:(new BorderLayout());•使用GridLayout布局管理器:(new GridLayout(rows, columns));添加事件监听器Swing提供了一系列的事件监听器接口,用于对用户操作做出响应。
可以通过添加事件监听器来实现对JFrame中组件的交互响应。
以下是添加事件监听器的用法:•添加ActionListener监听器:(new ActionListener() { ... });•添加MouseListener监听器:(new MouseListener() { ... });•添加KeyListener监听器:(new KeyListener() { ... });自定义JFrame外观可以通过一些方法和属性来自定义JFrame的外观,以下是一些常用的自定义方法和属性:•设置JFrame的背景颜色:().setBackground();•设置JFrame的字体:(new Font("Arial", , 12));•设置JFrame的边框:().setBorder(());总结本文介绍了一些Swing JFrame的常用用法,涵盖了基本使用、布局管理器、事件监听器和外观自定义等方面。
jframe类常用方法JFrame是Java Swing图形用户界面库中的一个核心类,主要用于创建和管理窗口。
以下是JFrame类的一些常用方法:1. 构造函数:`JFrame()`: 创建一个默认的JFrame。
`JFrame(String title)`: 创建一个带有指定标题的JFrame。
`JFrame(String title, Dimension size)`: 创建一个带有指定标题和大小的JFrame。
2. 常用方法:`setTitle(String title)`: 设置窗口的标题。
`setSize(Dimension size)`: 设置窗口的大小。
`setSize(int width, int height)`: 设置窗口的宽度和高度。
`setLocation(int x, int y)`: 设置窗口在屏幕上的位置。
`setVisible(boolean visible)`: 设置窗口是否可见。
`setDefaultCloseOperation(int operation)`: 设置窗口关闭时的默认操作,如EXIT_ON_CLOSE, DO_NOTHING_ON_CLOSE等。
`add(Component comp)`: 将组件添加到窗口中。
`setLayout(LayoutManager layout)`: 设置布局管理器。
3. 获取属性:`getTitle()`: 获取窗口的标题。
`getSize()`: 获取窗口的大小。
`getLocation()`: 获取窗口在屏幕上的位置。
`isVisible()`: 检查窗口是否可见。
4. 其他:`pack()`: 调整窗口大小以适应其内容。
`setResizable(boolean resizable)`: 设置窗口是否可调整大小。
`setIconImage(Image image)`: 设置窗口的图标。
... 以及其他很多方法。
1.布局对于JFrame窗口,默认布局是BorderLayout布局。
对于JPanel,默认布局是FlowLayout布局。
容器可以使用方法:setLayout(布局对象);来设置自己的布局。
(1)FlowLayout布局FlowLayout类创建的对象称做FlowLayout型布局。
FlowLayout类的一个常用构造方法如下:FlowLayout()该构造方法可以创建一个居中对齐的布局对象。
例如:FlowLayout flow=new FlowLayout();如果一个容器con使用这个布局对象:con.setLayout(flow);那么,con可以使用Container类提供的add方法将组件顺序地添加到容器中,组件按照加入的先后顺序从左向右排列,一行排满之后就转到下一行继续从左至右排列。
FlowLayout布局对象调用flow.setAlignment(FlowLayout.LEFT);来设置组件靠左对齐FlowLayout布局对象调用setHgap(int hgap) 方法和setVgap(int vgap)可以重新设置布局的水平间隙和垂直间隙。
(2)BorderLayout布局BorderLayout 布局是Window型容器的默认布局,例如JFrame、JDialog都是Window类的间接子类,它们的默认布局都是BorderLayout 布局。
容器使用BorderLayout 布局,那么容器空间简单地划分为东、西、南、北、中五个区域。
每加入一个组件都应该指明把这个组件添加在哪个区域中,区域由BorderLayout中的静态常量CENTER、NORTH、SOUTH、WEST、EAST表示.添加到某个区域的组件将占据整个这个区域。
每个区域只能放置一个组件,如果向某个已放置了组件的区域再放置一个组件,那么先前的组件将被后者替换掉。
(3)CardLayout 布局使用CardLayout 的容器可以容纳多个组件,但是实际上同一时刻容器只能从这些组件中选出一个来显示,这个被显示的组件将占据所有的容器空间。
* 显示一个经过边界布局的窗口,理解图形界面
* 布局管理器
* JFrame
* BorderLayout
* 边界布局
*/
package com.test1;
//package com.GUI;
import java.awt.*;
import javax.swing.*;
public class Demo8_2 extends JFrame //继承JFrame,顶层容器{
JButton jb1,jb2,jb3,jb4,jb5;//声明JButton ,一种容器类组件
public static void main(String[] args)
{
Demo8_2 demo8_2=new Demo8_2(); //实例化一个类对象
}
public Demo8_2() //构造函数
//创建JButton
jb1=new JButton("中部");
jb2=new JButton("北部");
jb3=new JButton("东部");
jb4=new JButton("南部");
jb5=new JButton("西部");
//添加各个组件,把JButton加入JFrame对象
this.add(jb1,BorderLayout.CENTER);
this.add(jb2,BorderLayout.NORTH);
this.add(jb3,BorderLayout.EAST);
this.add(jb4,BorderLayout.SOUTH);
this.add(jb5,BorderLayout.WEST);
//设置窗体属性
this.setTitle("边界布局");//标题
this.setSize(400,300); //窗体大小
this.setLocation(300,200);//窗体坐标
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口默认推出程序
//显示窗体
this.setVisible(true);
}
}
//Graphic user interface
// AWT(抽象窗口工具集)Abstract Window ToolKit
//——>swing,解决了awt存在的Icd问题,是awt的继承和发展
//——>IBM认为swing比较消耗内存,就创建了一个新的GUI库,叫SWT // ——>IBM为了开发方便,又开发了更易用,功能强大的JFace。