Java布局管理器setLayout() 华清课设

合集下载

Java面向对象程序设计案例教程(王贺) 第七章习题答案[5页]

Java面向对象程序设计案例教程(王贺) 第七章习题答案[5页]

1.选择题(1)下列说法中错误的是()A.对Swing构件只能设置一个边框B.Swing构件能建立组合边框或自己设计边框C.在Swing构件中,按钮可以使用图标修饰D.Swing构件支持键盘代替鼠标的操作(2)向容器添加新构件的方法是(A)A. add( )B. insert( )C. fill( )D. set( )(3)关于布局管理器LayoutManager,下列说法中正确的是(D)A.布局管理器是用来部署Java应用程序的网上发布的youtManager本身不是接口C.布局管理器是用来管理构件放置在容器中的位置和大小的D.以上说法都不对(4)JTextField类提供的GUI功能是(A)A.文本区域 B.按钮 C.文本字段 D.菜单(5)将GUI窗口划分为东、西、南、北、中五个部分的布局管理器是(D)A.FlowLayout B.GridLayout C. BoxLayout D. BorderLayout(6)关于Panel,下列说法中错误的是(D)A. Panel可以作为最外层的容器单独存在B. Panel必须作为一个构件放置在其他容器中C. Panel可以是透明的,没有边框和标题D. Panel是一种构件,也是一种容器2.填空题(1)( BorderLayout )包括5个明显的区域:东、南、西、北、中。

(2)Java的图形界面技术经历了两个发展阶段,分别通过提供AWT开发包和(Swing)开发包来体现。

(3)可以使用setLoaction( )、setSize( )或(setBounds( ) )中的任何一种方法设置组件的大小或位置。

(4)( GridLayout )布局管理器使容器中各个构件呈网格布局,平均占据容器空间。

(5)框架的默认布局管理器( BorderLayout)。

3.编程题(1)制作如图7-20所示的登录界面。

图7-20package com.zhouzhou;import java.awt.*;import javax.swing.*;public class Demo11 extends JFrame {// 定义组件JPanel jp1, jp2, jp3;JLabel jlb1, jlb2;JButton jb1, jb2;JTextField jtf1;JPasswordField jpf1;public static void main(String[] args) {// TODO Auto-generated method stubDemo11 d1 = new Demo11();}// 构造函数public Demo11() {jp1 = new JPanel();jp2 = new JPanel();jp3 = new JPanel();jlb1 = new JLabel("用户名");jlb2 = new JLabel("密码");jb1 = new JButton("登录");jb2 = new JButton("取消");jtf1 = new JTextField(10);jpf1 = new JPasswordField(10);// 设置布局管理(上面忘记:extends JFrame,这里出错了) this.setLayout(new GridLayout(3, 1));// 加入各个组件jp1.add(jlb1);jp1.add(jtf1);jp2.add(jlb2);jp2.add(jpf1);jp3.add(jb1);jp3.add(jb2);// 加入到JFramethis.add(jp1);this.add(jp2);this.add(jp3);this.setSize(250, 150);this.setTitle("登录");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}}(2)制作如图7-21所示的选择界面。

Java程序设计实验指导书(答案)

Java程序设计实验指导书(答案)

第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。

(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。

二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。

三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。

安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。

教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。

2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。

3.编写并编译、运行一个Java Application程序。

创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。

public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。

1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。

qt里setlayout用法

qt里setlayout用法

Qt里setLayout用法在Qt中,setLayout是一种常用的布局管理器函数,用于设置窗口或窗口部件的布局。

布局管理器是一种用于自动调整窗口部件位置和大小的工具,可以使界面更加灵活和适应不同的窗口尺寸。

本文将详细介绍Qt中setLayout的用法,包括创建布局管理器、设置布局管理器、添加和删除窗口部件等操作。

1. 创建布局管理器在使用setLayout之前,我们首先需要创建一个布局管理器。

Qt提供了几种常用的布局管理器,包括垂直布局(QVBoxLayout)、水平布局(QHBoxLayout)、网格布局(QGridLayout)等。

1.1 垂直布局(QVBoxLayout)垂直布局将窗口部件按照垂直方向依次排列,可以使用QVBoxLayout类来创建垂直布局管理器。

QVBoxLayout *layout = new QVBoxLayout();1.2 水平布局(QHBoxLayout)水平布局将窗口部件按照水平方向依次排列,可以使用QHBoxLayout类来创建水平布局管理器。

QHBoxLayout *layout = new QHBoxLayout();1.3 网格布局(QGridLayout)网格布局将窗口部件按照网格形式排列,可以使用QGridLayout类来创建网格布局管理器。

QGridLayout *layout = new QGridLayout();1.4 其他布局管理器除了上述常用的布局管理器,Qt还提供了一些其他的布局管理器,如堆叠布局(QStackedLayout)、表单布局(QFormLayout)等,根据实际需求选择合适的布局管理器。

2. 设置布局管理器创建布局管理器后,我们需要将其设置给窗口或窗口部件,以便布局管理器能够对窗口部件进行布局。

QWidget *widget = new QWidget();widget->setLayout(layout);在上述代码中,我们创建了一个QWidget对象widget,并通过setLayout函数将布局管理器layout设置给widget。

JavaGUI布局管理器

JavaGUI布局管理器

JavaGUI布局管理器容器可设置布局管理器,管理容器中组件的布局:container.setLayout(new XxxLayout());Java有6种布局管理器,AWT提供了5种:FlowLayoutBorderLayoutGridLayoutGridBagLayoutCradLayoutSwing还提供了⼀种:BoxLayout1、FlowLayout 流式布局顾名思义,组件像⽔流⼀样,从第⼀⾏开始,从左向右依次排列,碰到边界时转到下⼀⾏继续。

三个构造函数:FlowLayout() //使⽤默认参数FlowLayout(int align) //设置对齐⽅式FlowLayout(int align,int hgap,int vgap) //设置对齐⽅式、⽔平间距、垂直间距align是FlowLayout类的常量,⽐如:FlowLayout.LEFT,FlowLayout.CENTER2、BorderLayout 边界布局将容器划分为EAST、WEST、SOUTH、NORTH、CENTER五个部分,每个部分可放置⼀个组件。

2个构造函数:BorderLayout() //使⽤默认参数BorderLayout(int hgap,int vgap) //设置⽔平间距、垂直间距放置组件时需指定位置:container.add(Component comp, Borderlayout.SOUTH); //第⼆个参数是BorderLayout类的常量,指定组件位置container.add(Component comp); //缺省位置时,默认为BorderLayout.CENTER,放在中间⼀共5个位置,⼀个位置最多放1个组件。

当然,可以在⼀个位置放置多个组件,只是后放置的组件会覆盖之前放置的组件。

也可以⼀个都不放。

3、GridLayout ⽹格布局将容器划分为指定⾏数、列数的⽹格,每个格⼦的尺⼨都相同,⼀个格⼦中放置⼀个组件,适合组件⼤⼩差不多的,⽐如放置计算器的按钮。

Java语言程序设计(一)自考题模拟16_真题(含答案与解析)-交互

Java语言程序设计(一)自考题模拟16_真题(含答案与解析)-交互

Java语言程序设计(一)自考题模拟16(总分100, 做题时间90分钟)第Ⅰ部分选择题一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的。

)1.Java源文件经编译产生的文件称为______SSS_SINGLE_SELA .obj文件B .exe文件C .java文件D 字节码文件分值: 1答案:D[考点] Java编译[解析] Java源文件经编译产生的文件称为字节码文件。

2.若a是int型变量,计算表达式a=25/3%3后,a为______SSS_SINGLE_SELA 1B 2C 3D 4分值: 1答案:B[考点] Java运算[解析] 运算顺序从左到右,首先计算25/3=8,然后8%3=2。

3.下列说法正确的是______SSS_SINGLE_SELA 实例方法能对类变量和实例变量操作B 实例方法只能对类变量操作C 实例方法只能实例变量操作D 类方法能对类变量和实例变量操作分值: 1答案:A[考点] 实例方法和类方法[解析] 实例方法能对类变量和实例变量操作,而类方法只能操作类变量。

4.将有三个boolean值的数组初始化为true的是______A.boolean [ ]b=new boolean[3]B boolean [ ]b={true,true,true}C.boolean [3]b={true,true,true}D.boolean [ ]b=new boolean[3];b={true,true,true}SSS_SIMPLE_SINA B C D分值: 1答案:B[考点] 数组[解析] boolean类型的数组默认值时false,所以A不对。

声明数组时不能指定数组的大小,所以C不对。

不能给数组名赋值,数组名是个常量,是数组的引用,所以D不对。

5.若有定义Sting tom="I am a good cat";则tom.indexOf("a")的值为______ SSS_SINGLE_SELA 2B 3C 4D 5分值: 1答案:A[考点] 字符串String类[解析] String类提供的s.indexOf(String a)方法用于检测字符串s中首次出现a的位置,从零开始计算。

JAVA WEB编程技术(沈泽刚 清华大学出版社)第十二章课后习题部分解答

JAVA WEB编程技术(沈泽刚 清华大学出版社)第十二章课后习题部分解答
//BorderLayout 布局管理器,水平间隔为 5 垂直间隔为 10 BorderLayout borderLayout = new BorderLayout(5, 10);
setLayout(borderLayout); add(p1, BorderLayout.NORTH); add(p2, BorderLayout.SOUTH); } }
}
class FlowLayoutDemo extends JFrame{ public FlowLayoutDemo(){ FlowLayout flowLayout; //FlowLayout 类型的布局管理器引用变量
//该布局管理器对齐方式为左对齐,水平间隔和垂直间隔均为默认值 5 个像素 flowLayout = new FlowLayout(FlowLayout.LEFT);
}
class GridLayoutDemo extends JFrame{ public GridLayoutDemo(){ //GridLayout 布局管理器,两行三列的布局,水平间隔和垂直间隔为 5 GridLayout gridLayout = new GridLayout(2, 3, 5, 5);
import javax.swing.*; import java.awt.*;
public class Chap12_3{ public static void main(String[] args){ GridLayoutDemo gld = new GridLayoutDemo(); gld.setTitle("Chap12_3"); //设置框架标题 gld.setSize(600, 160); //设置框架大小 gld.setLocationRelativeTo(null); //设置框架在屏幕的中央 gld.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭框架时结束程序 gld.setVisible(true); //显示框架 }

Java swing布局详解(附示例图)

Java swing布局详解(附示例图)

当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理。

JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout。

下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。

代码演示每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件)。

这些文件主要有三个方法组成:addComponentsToPane()提供布局逻辑(依据不同的布局管理器和UI内容)。

Java代码1public static void addComponentsToPane(Container pane) {。

}2/**3*createAndShowGUI()实例化一个JFrame,通过它的ContentPane加载布局逻辑内容。

4*/5private static void createAndShowGUI() {6// Create and set up the window.7JFrame frame = new JFrame("FlowLayoutDemo");8frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);9// Set up the content pane.10addComponentsToPane(frame.getContentPane());11// Display the window.12frame.pack();13frame.setVisible(true);14}15//main()程序入口,单独起一个线程,实例化UI。

16public static void main(String[] args) {17javax.swing.SwingUtilities.invokeLater(new Runnable() {18public void run() {19createAndShowGUI();20}21});22}FlowLayoutFlowLayout类是最简单的布局管理器。

Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理

Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理

《Java面向对象程序设计案例教程》
7.2 Swing基础
• Swing组件是Java语言提供的第二代GUI设计工 具包,它以AWT为基础,在AWT内容的基础上 新增或改进了一些GUI组件,使得GUI程序功能 更强大,设计更容易、更方便。
• Swing与AWT有以下不同。
• (1) Swing是完全用Java语言编写的,所以称 Swing组件是轻量级组件,没有本地代码,不依 赖操作系统的支持,比AWT构件具有更强的实 用性。Swing在不同的平台表现一致,并且有能 力提供本地窗口系统不支持的其他特性。
《Java面向对象程序设计案例教程》 • Swing的类层次结构如图所示:
《Java面向对象程序设计案例教程》
• 3. 简单的范例 • 一个简单的Swing GUI应用程序。该程序生成一个窗
口, • 窗口中有一个标签,用于显示输出。 • (1) 程序代码: • 1. import java.awt.* ; • 2. import javax.swing.* ; • 3. public class SwingDemo • 4. { • 5. public static void main(String args[]) • 6. { • 7. JFrame fm = new JFrame("第一个Windows程序") ; • 8. JLabel label = new JLabel("这是第一个GUI程序") ;
• 教材例题7-12 利用组合框显示、选取地名。
• 教材例题8.2 ,例题8.3用不同方法生成JFrame窗口
《Java面向对象程序设计案例教程》
• 7.3.2 面板容器JPanel
• 面板JPanel也是Java中常用到的容器之一,面板是一种透明 的容器,既没有标题,也没有边框,就像一块透明的玻璃。 与JFrame不同,它不能作为最外层的容器单独存在,它首 先必须作为一个构件放置到其他容器中,然后再把它作为容 器,把其他构件放到其中。

《Java基础入门》_课后习题答案大一计算机专业8

《Java基础入门》_课后习题答案大一计算机专业8

《Java基础入门》课后习题答案第8章GUI(图形用户界面)一、填空题1、在Java 中,图形用户界面简称: GUI2、事件监听器: 负责监听事件源上发生的事件,并对各种事件做出响应处理。

3、GUI 设计提供了一些基本的图形用户接口开发工具,如AWT:Swing 和JavaFX。

4、.如果单击Frame窗口有上角的关闭按相能将其关闭:那么这个Frame窗口添加了:WindowListener 监听器,并实现了监听器:windowClosing(WindowEvent e) 的方法。

5、创建下拉式菜单需要使用三个组件,分别是:JMenuBar、JMenu、JMenuItem二、判断题1、容器(Container)是一个可以包含基本组件和其他容器的组件。

对2.可以通过实现AetionListener 接口或者继承AconAdpter 类来实现动作事件监听器。

错3.CardLayout 布局管理器将界面看做一系列卡片,在任何时候只有其中一张卡片是可见的。

对4.非模态对话框是指用户需要等到处理完对话框后才能继续与其他窗口进行交互。

错5.JFrame 的默认布局管理器是FlowLayout。

错三、选择题1.下面四个组件中哪一个不是JComponent 的子类? (B)A.JButtonB.JDialogC. JLabelD.JMenuBar2.下面四个选项中,哪些是事件处理机制中的角色?(多选) (ABD)A.事件B.事件源C.事件接口D.事件监听器3. ActionEvent 的对象会被传递给以下哪个事件处理器方法? (D)A.addChangeListener()B. addActionListener()C. stateChanged()D. actionPerformed()4.下面哪些是FlowLayout 类中表示对齐方式的常量?(多选) (ABD)A.FlowLayout.LEFTB.FlowLayout.CENTERC. FlowLayout. VERTICALD. FlowLayout. RIGHT5.下列选项中关于JavaFX,描述错误的是(C )A.JavaFX是一个强大的图形和多媒体处理工具包集合B. JavaFX 允许开发者来设计、创建、测试、调试和部署客户端程序C.JavaFX不能与Swing实现互操作D.JavaFX可以实现跨平台功能四、简答题1、请简述GUI 中实现事件监听的步骤:●通过实现XxxListener接口或者继承XxxAdapter类实现一个事件监听器类,并对处理监听动作的方法进行重写●创建事件源对象和事件监听器对象●调用事件源的addXxxLisntener()方法,为事件源注册事件监听器对象2、请简述Swing 中的布局管理器有哪些。

《Java课程设计》说明书

《Java课程设计》说明书

《Java课程设计》说明书
课程设计报告书目录
一、设计课题
二、设计目的
三、操作环境
四、设计场所(机房号、机器号或自己机器)
五、设计过程(设计内容及及各源代码板块)
六、本次设计中用到的课程知识点(列出主要知识点)
七、设计过程中遇到的问题及解决办法
八、设计心得总结
2.总体设计
本程序是为了实现计算器的基本功能的运行。

利用监听器去实现计算器的基本功能。

3.科学计算器界面截图:
1)功能描述
1、打开计算器。

首先是标准型的计算器,具有基本的加减乘除,开方等
基本功能。

同时,在标准型的计算器中还可以存储文本框中的内容。

如图1所示:
图1标准型计算器界面
2、在标准型的计算器界面中,进行的运算--加法运算。

如计算
2+3=5.0。

如图2
图2加法功能
3、实现减法运算.如计算:4-2=2.0 如图3
图3 减法运算
4、实现取余运算.如计算 12%20=12.0 如图4
图4取余计算
4.程序整体设计说明
【1】程序中所用到的变量
count、line1、line2、leng、input、input1 【2】代码列表:
import java.awt.FlowLayout;。

第9章Java Swing图形用户界面-Java面向对象程序设计教程-微课视频-程杰-清华大学出版社

第9章Java Swing图形用户界面-Java面向对象程序设计教程-微课视频-程杰-清华大学出版社
第9章Java Swing图形用户界面
9.1 Java Swing概述 9.2 JFrame窗口 9.3布局管理器 9.4 常用控件 9.5事件处理机制 9.6 JDialog对话框 9.7 应用实例:打地鼠小游戏
通过GUI(Graphic User Interface,图形用户界 面),用户与程序之间可以方便地进行交互。Java 的java.awt包,即Java抽象窗口工具包(Abstract Window Toolkit,AWT)提供了许多用来设计GUI 的组件类。Java早起进行用户界面设计时,主要使 用java.awt包提供的类,如Button(按钮)、 TextField(文本框)和List(列表)等。JDK1.2 推出后,增加了一个新的javax.swing包,该包提 供了功能更为强大的用来设计GUI的类。
Javax.swing包提供了Box类,该类也是Container
类的一个子类,创建的容器称为一个盒式容器,盒 式容器的默认布局是盒式布局,而且不允许更改盒 式容器的布局。因此,在策划程序的布局时,可以 利用容器的嵌套,将摸个容器嵌入几个盒式ng中提供了一个更加强大的布 局——弹簧布局SpringLayout。利用该布局管理器
管理组件,当改变窗体的大小时,能够在不改变组 件间相对位置的前提下自动调整组件的大小。
9.4.1 标签JLable 9.4.2 文本框JTextField 9.4.3 按钮JButton 9.4.4 菜单JMenu 9.4.5文本区JTextArea 9.4.6下拉列表JList 9.4.7表格JTable 9.4.8 树JTree
Public void keyTyped(KeyEvent),键盘按键被输入 事件。
无论用户界面设计的如何美观别致,最重要的一点 是知道这些组件能做什么,如单击一个“打开文件” 按钮,我们希望打开的是文件对话框,而不希望程 序没有任何响应。Java提供了事件模型,使Swing

JAVASWING布局管理器实例之GRIDBAGLAYOUT,实现左右选择框

JAVASWING布局管理器实例之GRIDBAGLAYOUT,实现左右选择框

说来惭愧,使用Swing快2年了,一直没有深入研究Swing中著名的布局管理器GridBagLayout,说他著名是因为他布局灵活,可以适用各种复杂的布局要求,当然也因为他是著名的复杂,这次由于过几天一次重要的面试,“迫使”我不得不好好研究一下(哈哈,其前太懒了,以后一定多注意。

先来分享一下我的学习成果,对一些重要参数进行说明:1. gridx,gridy 设置组件的位置:其实就是组件行列的设置,注意都是从0开始的,比如 gridx=0,gridy=1时放在0行1列。

2.gridwidth,gridheight—设置组件跨越的行列,默认值为1;GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,会占据所有剩余的空间。

3. weightx,weighty——用来设置窗口变大时,各组件跟着变大的比例。

比如组件A的weightx=0.5,组件B的weightx=1,那么窗口X轴变大时剩余的空间就会以1:2的比例分配给组件A和B.4.anchor —当组件空间大于组件本身时,要将组件置于何处。

有CENTER (默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、WEST、NORTHWEST选择。

5.insets ——设置组件之间彼此的间距。

它有四个参数,分别是上,左,下,右,默认为(0,0,0,0)。

好了,先看一下左右选择框的实现吧:import java.awt.Dimension;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.BorderFactory;import javax.swing.DefaultListModel;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.UIManager;import javax.swing.UnsupportedLookAndFeelException;public class MyFrame extends JFrame {JPanel mainPanel = new JPanel();JButton add = new JButton();JButton left = new JButton();JButton right = new JButton();JLabel label = new JLabel();JTextField field = new JTextField();DefaultListModel leftModel = new DefaultListModel(); DefaultListModel rightMOdel = new DefaultListModel(); JList leftList = new JList(leftModel);JList rightList = new JList(rightMOdel);JPanel left_Right_Panel = new JPanel();public MyFrame() {this.setTitle("test");this.setPreferredSize(new Dimension(600, 400)); this.initComponent();this.addData();this.setVisible(true);this.pack();}/*** 初始化组件*/private void initComponent() {label.setText("添加选项:");add.setText("添加");leftList.setPreferredSize(new Dimension(150, 150));rightList.setPreferredSize(leftList.getPreferredSize());left.setText("左");right.setText("右");mainPanel.setBorder(BorderFactory.createTitledBorder("左右选择框"));mainPanel.setLayout(new GridBagLayout());GridBagConstraints c = new GridBagConstraints();c.gridx = 0; // 0行0列c.gridy = 0;c.gridwidth = 1;c.gridheight = 1;c.fill = GridBagConstraints.HORIZONTAL;c.weightx = 0;c.weighty = 0;mainPanel.add(label, c);c.gridx++;c.weightx = 1;mainPanel.add(field, c);c.gridx++;c.weightx = 0;c.gridwidth = 1;c.gridheight = 1;// c.fill = GridBagConstraints.HORIZONTAL;mainPanel.add(add, c);c.gridx = 0;c.gridy = 1;c.weightx = 1;c.weighty = 1;c.gridwidth = 2;c.gridheight = 2;c.fill = GridBagConstraints.BOTH;mainPanel.add(leftList, c);c.gridx = 2;c.gridy = 1;c.gridwidth = 1;c.gridheight = 1;c.weightx = 0;c.weighty = 0.5;c.anchor = GridBagConstraints.SOUTH;c.fill = GridBagConstraints.HORIZONTAL;mainPanel.add(left, c);c.gridx = 2;c.gridy = 2;c.anchor = GridBagConstraints.NORTH;c.fill = GridBagConstraints.HORIZONTAL;mainPanel.add(right, c);c.gridx = 3;c.gridy = 1;c.gridwidth = 1;c.gridheight = 2;c.weightx = 1;c.weighty = 1;c.fill = GridBagConstraints.BOTH;mainPanel.add(rightList, c);this.getContentPane().add(mainPanel);}private void addData() {add.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { // TODO Auto-generated method stubaddItem();}});left.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { // TODO Auto-generated method stubleftItem();}});right.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { // TODO Auto-generated method stubrightItem();}});}/*** 增加项*/private void addItem() {if (field.getText() != null&& !field.getText().equals("")) {((DefaultListModel) leftList.getModel()).addElement(field.getText()); field.setText("");}}/*** 左移项*/private void leftItem() {if (rightList.getSelectedIndex() != -1) {Object o = rightList.getSelectedValue();((DefaultListModel)rightList.getModel()).remove(rightList.getSelectedIndex());((DefaultListModel)leftList.getModel()).addElement(o);}}/*** 右移项*/private void rightItem() {if (leftList.getSelectedIndex() != -1) {Object o = leftList.getSelectedValue();((DefaultListModel)leftList.getModel()).remove(leftList.getSelectedIndex());((DefaultListModel)rightList.getModel()).addElement(o);}}public static void main(String args[]) {try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InstantiationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (UnsupportedLookAndFeelException e) {// TODO Auto-generated catch blocke.printStackTrace();}MyFrame frame = new MyFrame();}}。

java jpanel方法

java jpanel方法

java jpanel方法Java JPanel方法是Java语言中用于创建图形用户界面(GUI)的一个重要组件。

JPanel是Java Swing库中的一个类,它继承自JComponent类,用于容纳其他组件的容器。

JPanel可以被添加到JFrame中,用于布局和管理界面上的其他组件。

JPanel类提供了许多方法,用于设置和操作面板的属性和行为。

其中包括设置面板的大小、背景色、边框等。

下面将介绍一些常用的JPanel方法。

1. setSize(int width, int height)方法用于设置面板的大小。

可以通过传入宽度和高度的参数来指定面板的尺寸。

2. setBackground(Color color)方法用于设置面板的背景色。

可以通过传入Color对象作为参数来指定背景色。

3. setBorder(Border border)方法用于设置面板的边框。

可以通过传入Border对象作为参数来指定边框的样式和属性。

4. setLayout(LayoutManager manager)方法用于设置面板的布局管理器。

可以通过传入LayoutManager对象作为参数来指定布局管理器的类型,如FlowLayout、GridLayout等。

5. add(Component comp)方法用于向面板中添加其他组件。

可以通过传入Component对象作为参数来添加组件。

6. remove(Component comp)方法用于从面板中移除指定的组件。

可以通过传入Component对象作为参数来移除组件。

7. setPreferredSize(Dimension preferredSize)方法用于设置面板的首选尺寸。

可以通过传入Dimension对象作为参数来指定首选尺寸。

8. setEnabled(boolean enabled)方法用于设置面板的可用状态。

可以通过传入布尔值作为参数来指定面板是否可用。

Java面向对象程序设计课程设计--学生信息管理系统程序设计

Java面向对象程序设计课程设计--学生信息管理系统程序设计

课程实践任务书信息技术的快速发展的同时也带来了社会各个行业的发展。

它的发展已经深入到社会的各个角落。

作为社会发展的前沿技术,各行各业只要对其合理的进行运用,必将会带来巨大的便捷。

成功的运用信息技术将为各类学校学生信息管理带来无限便利。

作为计算机应用的一部分,使用学生信息管理系统对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,大地提高学生档案管理的效率。

本文介绍了系统开发的全过程。

该系统以Windows为操作平台,Java为开发语言,Access为数据库,Eclipse为开发工具,使用JDBC技术进行连接,实现了在可视化的基础上,利用数据库进行后台管理。

系统由学生和老师基本信息添加、学生和老师基本信息查询、学生和老师基本信息删除、学生和老师基本信息修改及退出系统等功能模块组成,基本功能较全面。

用户界面友好、清晰、操作简便,易学易用;系统可读性好,易于维护、更新,安全性较好。

采用传统下拉菜单功能选择,方便、快捷、一目了然,并且在一个窗体中进行操作,可视化强。

采用链入数据库进行存储,可动态进行查看、操作,这样的系统可修改性较强。

关键字:面向对象;Eclipse;JDBC1 前言 (1)1.1 课题简介 (1)1.2 设计目的 (1)2 需求分析 (2)2.1业务需求分析 (2)2.2功能需求分析 (2)2.2.1 学生信息 (2)2.2.2 教师信息 (2)2.2.3 成绩管理 (3)3 数据库设计 (4)3.1 Java连接数据库 (4)3.1.1 关系数据库概述 (4)3.1.2 通过JDBC访问数据库 (4)3.2 数据库与基本表设计 (4)4 系统设计与实施 (7)4.1 Eclipse Java Neon 3 (7)4.2 结构设计 (7)4.3 文件组织结构 (7)4.4 登录模块 (8)4.4.1 设计构想 (8)4.4.2 实现登录模块 (8)4.5 学生信息模块 (11)4.5.1 设计构想 (11)4.5.2 实现学生信息模块主界面 (11)4.5.3添加信息 (12)4.5.4 删除信息 (14)4.5.5修改信息 (15)4.5.6 基本信息查询 (17)4.5.7 成绩查询 (19)4.5.8 退出系统 (21)4.6 教师信息模块 (22)结束语 (26)参考文献 (27)附录A............................................. 错误!未定义书签。

java课程设计清华

java课程设计清华

java课程设计清华一、教学目标本课程的教学目标是让学生掌握Java编程的基本语法、基本概念和基本方法,培养学生使用Java语言解决实际问题的能力。

具体来说,知识目标包括:掌握Java的基本语法、基本数据类型、运算符、控制结构、数组、字符串、面向对象编程、异常处理、文件操作等;技能目标包括:能够使用Java编写简单的程序,解决实际问题,具备基本的编程能力和调试能力;情感态度价值观目标包括:培养学生对编程的兴趣,增强学生的自信心,培养学生的团队合作意识和解决问题的能力。

二、教学内容根据课程目标,本课程的教学内容主要包括Java的基本语法、基本数据类型、运算符、控制结构、数组、字符串、面向对象编程、异常处理、文件操作等。

具体来说,教学大纲如下:1.Java的基本语法和基本数据类型2.运算符和控制结构3.数组和字符串4.面向对象编程(类、对象、封装、继承、多态)5.异常处理6.文件操作三、教学方法为了达到课程目标,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

具体来说:1.讲授法:通过教师的讲解,让学生掌握Java的基本语法、基本概念和基本方法。

2.讨论法:通过小组讨论,让学生深入理解Java编程的原理和技巧。

3.案例分析法:通过分析实际案例,让学生学会如何使用Java解决实际问题。

4.实验法:通过动手实验,让学生巩固Java编程的知识,提高编程能力。

四、教学资源为了支持教学内容和教学方法的实施,本课程将选择和准备以下教学资源:1.教材:《Java编程思想》2.参考书:《Java核心技术》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络环境五、教学评估本课程的评估方式包括平时表现、作业、考试等。

平时表现主要评估学生的课堂参与度、提问回答、小组讨论等,占总评的20%。

作业主要包括编程练习和理论题目,占总评的30%。

考试包括期中和期末考试,占总评的50%。

评估方式应客观、公正,能够全面反映学生的学习成果。

JAVA布局

JAVA布局
card.next(panelMain); //下一个
card.previous(panelMain); /n); //第一个
示例:
import java.awt.*;
public class buttonDir{
public static void main(String args[]){
Frame f = new Frame("BorderLayout");
GridBagConstraints.NONE:以最小尺寸显示组件;
GridBagConstraints.HORIZONTAL:组件沿水平方向伸展;
GridBagConstraints.VERTICAL:组件沿垂直方向伸展。
约束anchor决定单元格如何显示。 auchor取值GridBagConstraints中的四个类变量:
CardLayout(卡式布局)
CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面.布局管理器(CardLayout)就象一副叠得整整齐齐的扑克牌一样,有54张牌,但是你只能看见最上面的一张牌,每一张牌就相当于布局管理器中的每一层.其实现过程如下:
JPanel panel= new JPanel(new FlowLayout(FlowLayout.LEFT)));
此为小应用程序(Applet)和面板(Panel)的缺省布局管理器,组件从左上角开始,按从左至右的方式排列.其构造函数为:
FlowLayout() //生成一个默认的流式布局,组件在容器里居中,每个组件之间留下5个像素的距离.

java语言中awt和swing组件的基本用法

java语言中awt和swing组件的基本用法

java语言中awt和swing组件的基本用法AWT (Abstract Window Toolkit)是Java编程语言的一套图形用户界面(GUI)组件集,它提供了创建和管理窗口、按钮、标签等图形组件的能力。

AWT组件是依赖于操作系统的本地GUI组件。

下面是使用AWT组件的基本步骤:1.导入AWT相关的类:通常在使用AWT组件之前,需要导入`java.awt`和`java.awt.event`包中的类。

2.创建一个Frame:使用`Frame`类来创建一个顶级窗口。

3.创建其他组件:使用AWT提供的组件类(如`Button`、`Label`等)来创建其他需要的组件。

4.将组件添加到Frame:使用`add()`方法将其他组件添加到Frame中。

5.设置Frame的布局:使用`setLayout()`方法设置Frame的布局方式,如`FlowLayout`、`GridLayout`等。

6.设置Frame的大小和可见性:使用`setSize()`方法设置Frame 的大小,使用`setVisible(true)`方法设置Frame可见。

7.添加事件监听器:使用`addActionListener()`方法为按钮等组件添加事件监听器。

Swing是Java编程语言中提供的一组GUI组件,它是在AWT的基础上进行了增强和扩展。

Swing组件是纯Java组件,不依赖于操作系统的本地组件,因此具有更高的可移植性和灵活性。

下面是使用Swing组件的基本步骤:1.导入Swing相关的类:通常在使用Swing组件之前,需要导入`javax.swing`包中的类。

2.创建一个JFrame:使用`JFrame`类来创建一个顶级窗口。

3.创建其他组件:使用Swing提供的组件类(如`JButton`、`JLabel`等)来创建其他需要的组件。

4.将组件添加到JFrame中:使用`add()`方法将其他组件添加到JFrame中。

setlayout的用法

setlayout的用法

setlayout的用法setLayout方法是Java的一个布局管理器重要的方法,也是GUI 编程的基础。

它的用法在实现Java程序制作的GUI界面中显得尤为重要,本文将对setLayout的用法及它的布局管理器包括FlowLayout、GridLayout和BorderLayout进行详细地剖析。

一、 setLayout的用法setLayout方法的作用是设置容器的布局管理器,在使用GUI编程时容器是必不可少的,而容器要想使用布局管理器来管理窗口中的组件,就必须调用setLayout方法。

在不同的操作系统上,setLayout方法的写法也有所不同,如果是在Java SE环境中,它的写法为:public void setLayout(LayoutManager manager)其中,LayoutManager是一个布局上下文,它指定容器中的组件的布局方式。

它允许程序员按照自己的意愿改变容器的布局。

一般地,调用setLayout方法的时候要指定布局管理器,因此在使用setLayout方法前,必须有一个布局管理器,在Java中有三种布局管理器:FlowLayout、GridLayout和BorderLayout。

二、局管理器1. FlowLayoutFlowLayout是一种比较简单的布局管理器,它使用组件的排列顺序来安排组件的位置,组件是水平排列的,当一行排满后,自动换行,它是容器的默认布局。

调用FlowLayout的方法如下:Container.setLayout(new FlowLayout())2. GridLayoutGridLayout可以同时安排多个控件,它的用法跟表格很类似,它将容器分成等大的网格,然后把组件按照行和列的方式排列,类似于表格。

调用GridLayout的方法如下:Container.setLayout(new GridLayout(4,2))其中,4表示行数,2表示列数。

setlayout的用法

setlayout的用法

setlayout的用法setLayout方法是Android最常用的一个方法,用于设置控件的布局,可以控制两个控件会如何排列,以及控制它们如何排列在屏幕上。

它也可以控制控件之间的对齐方式,以及每个控件之间的间距。

setLayout方法接受三个参数:parent,align,gap。

parent 参数是父类布局容器(如LinearLayout,RelativeLayout等),用于指定控件的布局类型。

align参数是控件的对齐方式,比如left,center,right等。

gap参数是控件之间的间距,类型为int 类型,单位为dp(密度无关像素)。

在使用setLayout方法之前,我们需要首先定义父布局类型,比如LinearLayout,RelativeLayout等,然后将其设置为控件的父类布局容器。

比如,如果我们需要在LinearLayout布局中垂直排列两个控件,那么我们需要先设置LinearLayout为控件的父容器,然后再调用setLayout方法,设置控件在LinearLayout布局中的对齐方式和间距。

下面来看一个具体的例子。

假设我们要在LinearLayout布局中垂直排列两个TextView。

首先,我们先创建一个LinearLayout布局:LinearLayout linearLayout = new LinearLayout(context);然后,我们创建两个TextView:TextView textView1=new TextView(context);TextView textView2=new TextView(context);接着,我们将这两个TextView添加到LinearLayout布局中: linearLayout.addView(textView1);linearLayout.addView(textView2);最后,我们使用setLayout方法设置这两个控件的布局:textView1.setLayout(linearLayout,Gravity.CENTER,20); textView2.setLayout(linearLayout,Gravity.CENTER,20);上面的代码表示,将两个控件布局在linearLayout中,将它们的对齐方式都设置为居中,且两个控件之间的间距为20dp。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java布局管理器setLayout()
2008-02-17 19:22
1。

FlowLayout
public FlowLayout(int align,int hgap,int vgap)
创建一个新的流布局管理器,具有指定的对齐方式以及指定的水平和垂直间隙。

对齐参数的值必须是以下之一:FlowLayout.LEFT、FlowLayout.RIGHT、FlowLayout.CENTER、FlowLayout.LEADING 或FlowLayout.TRAILING。

参数:
align - 对齐值
hgap - 组件之间以及组件与Container 的边之间的水平间隙
vgap - 组件之间以及组件与Container 的边之间的垂直间隙
2GridLayout
public GridLayout(int rows,
int cols,
int hgap,
int vgap)创建具有指定行数和列数的网格布局。

给布局中的所有组件分配相等的大小。

此外,将水平和垂直间距设置为指定值。

水平间距将置于列与列之间。

将垂直间距将置于行与行之间。

rows 和cols 中的一个可以为零(但不能两者同时为零),这表示可以将任何数目的对象置于行或列中。

所有GridLayout 构造方法都服从这一规定。

参数:
rows - 该rows 具有表示任意行数的值零
cols - 该cols 具有表示任意列数的值零
hgap - 水平间距
vgap - 垂直间距
3,BorderLayout
public BorderLayout(int hgap,
int vgap)用指定的组件之间的水平间距构造一个边界布局。

水平间距由hgap 指定,而垂直间距由vgap 指定。

参数:
hgap - 水平间距。

vgap - 垂直间距。

4,CardLayout
public CardLayout(int hgap,
int vgap)创建一个具有指定的水平和垂直间隙的新卡片布局。

水平间隙置于左右边缘。

垂直间隙置于上下边缘。

参数:
hgap - 水平间隙。

vgap - 垂直间隙。

相关文档
最新文档