`

Java图形程序设(一):框架定位

阅读更多

JFrame类本身只包含若干个改变外观的方法。然而,继承了各个超类中许多处理框架大小和位置的方法。如:

  • dispose方法用于关闭窗口,并回收创建窗口所使用的全部系统资源。
  • setIconImage方法用于将窗口极小化时的图标设置为Image对象。
  • setTitle方法用于改变标题栏中的文本。
  • setResizable方法利用一个boolean值确定框架的大小是否允许用户改变。
  • setLocation(x,y)方法将窗口放置在坐标为x,y的位置。
  • setBounds(x,y,width,height)方法将窗口指定位置,同时设定窗口大小。

但是对于不同分辨率的屏幕,框架的大小不同,所以应先检查用户屏幕的分辨率,并根据其分辨率编写代码重置框架的大小。这就需要用到Toolkit类,它包含了很多与本地窗口系统进行交付的方法。先调用静态方法getDefaultToolkit得到一个Toolkit对象。然后调用getScreenSize方法,该方法以Dimension对象的形式返回屏幕的大小。Dimension对象用公有实例变量width和height保存屏幕的宽度和高度。

Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;

 还可以利用这个工具箱加载图像,然后,将这个图像设置为框架的图标

Image img = kit.getImage("icon.gif");
setIconImage(img);

 我们经常需要将程序的主框架设置为最大尺寸:

frame.setExtendState(Frame.MAXIMIZED_BOTH);

 下面是一个完整程序的示例:

package myswing;

import java.awt.Rectangle;

import javax.swing.JFrame;

import java.awt.Image;
import java.awt.Toolkit;
import java.awt.Dimension;;

public class CenteredFrameTest {

	public static void main(String[] args) {
		CenteredFrame cf = new CenteredFrame();
		cf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		cf.setVisible(true);	
	}

}
class CenteredFrame extends JFrame {
	public CenteredFrame() {
		//获得屏幕的尺寸
		Toolkit kit = Toolkit.getDefaultToolkit();
		Dimension screenSize = kit.getScreenSize();
		int screenWidth = screenSize.width;
		int screenHeight = screenSize.height;
		//设置默认位置和大小
		this.setSize(screenWidth/2, screenHeight/2);
		this.setLocation(screenWidth/4, screenHeight/4);
		//设置标题和图标
		Image img = kit.getImage("E:\\MyProgram\\myspace\\BAM\\src\\myswing\\icon.gif");
		setIconImage(img);
		setTitle("hello");
	}
}

 设置文件路径也可采用相对路径:Image img = kit.getImage("src/myswing/icon.gif");

分享到:
评论

相关推荐

    Java2图形设计卷II:SWING

    SWING是Java标准版(Java SE)的一部分,为开发者提供了丰富的组件和功能,用于构建美观、交互性强的桌面应用程序。 在Java世界中,SWING是构建图形用户界面的重要工具,它提供了大量的组件,如按钮、文本框、菜单...

    java图形化界面实现的个人通讯录管理系统

    Java图形化界面实现的个人通讯录管理系统是一种基于Java技术开发的应用程序,主要用于管理和维护个人的联系人信息。这个系统提供了用户友好的图形用户界面(GUI),使得用户能够方便地进行个人信息管理和通讯录的...

    java语言程序设计一书的demo实例

    9. ** Swing与GUI**:对于桌面应用开发,Java的Swing库提供了一系列组件来创建图形用户界面。你将学习如何创建窗口、按钮、文本框等,并响应用户的交互。 10. **异常处理和调试**:学习如何使用断点、单步执行、...

    清华Java程序设计实例教程

    例如,在《清华Java程序设计实例教程》中,可能涉及到创建一个名为"Student"的类,包含姓名、年龄等属性,以及获取和设置这些属性的方法。 2. 主函数:Java程序的入口点是main()函数。"public static void main...

    java图形用户界面设计

    Java图形用户界面(GUI)设计是开发交互式应用程序的关键部分,它允许用户通过可视化的组件与软件进行互动。在Java中,我们可以利用多种库和工具来创建GUI,其中最常见的是Java AWT(Abstract Window Toolkit)和...

    java源码:多环境应用程序框架 WebOnSwing.rar

    Java源码:多环境应用程序框架 WebOnSwing 在Java编程领域,开发多环境应用程序是一项常见的挑战。WebOnSwing项目提供了一种解决方案,它是一个框架,允许开发者创建能够在不同环境中运行的应用程序,如桌面(Swing...

    JAVA游戏程序设计(源码)

    2. **图形库与框架**:JAVA有许多用于游戏开发的图形库,如JavaFX和LibGDX。这些库提供了丰富的图形绘制、动画制作和用户交互功能。源码可能包含如何利用这些库创建游戏界面和处理输入事件的示例。 3. **游戏循环**...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Java笔记桌面程序

    本项目名为"Java笔记桌面程序",它是由一个热衷于编程的开发者为解决其所在公司无法使用网络笔记客户端的问题而自创的。这个程序采用Java语言编写,充分体现了Java的跨平台特性,可以在多种操作系统上运行,包括...

    Java程序计算器很简单的

    在Java编程语言中,开发一个计算器程序是一项基础但重要的任务,它可以帮助初学者理解控制流程、数据类型和函数等核心概念。"Java程序计算器很简单的"这个项目包含三个不同的程序,可能分别代表了计算器的不同阶段或...

    pb.rar_JAVA画图程序_java画图

    标题"pb.rar_JAVA画图程序_java画图"暗示我们讨论的是一个使用Java编写的简单画图应用程序,它可能包含了绘制基本图形如圆、矩形和直线的功能。这个程序对于初学者来说是一个很好的实践项目,可以帮助他们理解事件...

    Java实现单词查询程序

    在本项目中,我们主要探讨的是使用Java编程语言来实现一个单词查询程序,该程序具有英汉互译的功能,旨在提供一个用户友好的界面,使得单词查询和学习变得轻松便捷。下面将详细介绍这个项目的实现原理、关键技术以及...

    JAVA画图形学(论文+源代码).zip

    Java图形学是计算机科学的一个重要领域,主要涉及在二维或三维空间中创建、操作和显示图形。这个压缩包“JAVA画图形学(论文+源代码).zip”很可能包含了一些关于Java编程语言在图形处理和可视化方面的研究论文以及...

    Pro_Java_6_3D_Game_Development_Table-of-Contents

    - **Odejava**:一个物理引擎库,用于模拟游戏中的物理效果,如碰撞检测和重力作用。 - **JavaScript脚本**:Java 6支持在应用程序中嵌入JavaScript脚本,可以用来增强游戏的交互性和灵活性。 #### 书中的实践内容 ...

    java邮件图形化开发

    Java邮件图形化开发是利用Java编程语言来创建一个具有用户友好图形界面的程序,用于发送、接收和管理电子邮件。在本项目中,开发者遵循了张孝祥的《Java邮件开发详解》一书中的指导,利用集成开发环境NetBeans进行...

    语言程序设计资料:JAVA教程_第五讲_AWT图形用户界面设计.doc

    【JAVA AWT图形用户界面设计】\n\nJava的AWT(Abstract ...\n\n总之,Java AWT提供了一个强大而灵活的框架来创建图形用户界面。通过理解组件、容器和布局管理器的原理,开发者可以创建出丰富多样的交互式应用程序。

    一个Java编写的计算器的程序

    JUnit是Java中常用的单元测试框架,可以帮助开发者定位和修复潜在问题。 通过分析这个Java计算器程序,我们可以学习到面向对象编程的基本原则,异常处理的实践,以及如何利用Java的类库构建用户交互界面。这些都是...

    java日历小程序

    Java日历小程序是一种基于AWT(Abstract Window Toolkit)和SWING库开发的用户界面应用程序,主要用于展示日期并可能提供一些与日历相关的功能,如查看、添加和管理事件。这两个库是Java GUI(图形用户界面)编程的...

    java图形界面与事件响应 所谓的GUI编程

    在深入学习Java图形界面和事件响应机制之前,首先要明确GUI编程(Graphical User Interface Programming)的基本概念。GUI是图形用户界面的缩写,它通过图形化方式提供用户与计算机交互的界面。与传统的命令行界面...

Global site tag (gtag.js) - Google Analytics