Java.swing包中的JFrame类对于创建窗口很有效,它继承Container类,能够包含其它的组件.
右边显示了创建窗口的代码和JFrame的几个常用函数.
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1379963724699883220L;
/**
* 构造函数
*
*/
public MyFrame() {
// 设置窗口标题
this.setTitle("程序标题");
// 定位窗口
this.setLocation(20, 20);
// 设置窗口大小
this.setSize(480, 320);
// 显示窗口
setVisible(true);
}
public static void main(String[] args){
new MyFrame();
}
}
将窗口定位在屏幕正中
使用Toolkit.getDefaultToolkit().getScreenSize()方法可以取得屏幕的大小,再调用setLocation函数可以将程序定位在屏幕正中.
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1379963724699883220L;
/**
* 构造函数
*
*/
public MyFrame() {
// 设置窗口标题
this.setTitle("程序标题");
// 设置程序大小并定位程序在屏幕正中
setSizeAndCentralizeMe(480, 320);
// 显示窗口
setVisible(true);
}
// 设置程序大小并定位程序在屏幕正中
private void setSizeAndCentralizeMe(int width, int height) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(width, height);
this.setLocation(screenSize.width / 2 - width / 2, screenSize.height
/ 2 - height / 2);
}
public static void main(String[] args){
new MyFrame();
}
}
点击窗口右上角的关闭按钮关闭窗口,退出程序
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)可以达到此功能,否则按关闭按钮窗口关闭但不退出程序.
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1379963724699883220L;
/**
* 构造函数
*
*/
public MyFrame() {
// 设置窗口标题
this.setTitle("程序标题");
// 设置程序大小并定位程序在屏幕正中
setSizeAndCentralizeMe(480, 320);
// 显示窗口
setVisible(true);
// 点击窗口右上角的关闭按钮关闭窗口,退出程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// 设置程序大小并定位程序在屏幕正中
private void setSizeAndCentralizeMe(int width, int height) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(width, height);
this.setLocation(screenSize.width / 2 - width / 2, screenSize.height
/ 2 - height / 2);
}
public static void main(String[] args){
new MyFrame();
}
}
添加窗口关闭事件处理
// 点击窗口右上角的关闭按钮关闭窗口,退出程序
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("程序退出.");
System.exit(0);
}
});
上面的代码实现了一个WindowAdapter的匿名类,并将它注册为窗口事件的监听器.
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1379963724699883220L;
/**
* 构造函数
*
*/
public MyFrame() {
// 设置窗口标题
this.setTitle("程序标题");
// 设置程序大小并定位程序在屏幕正中
setSizeAndCentralizeMe(480, 320);
// 显示窗口
setVisible(true);
// 点击窗口右上角的关闭按钮关闭窗口,退出程序
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("程序退出.");
System.exit(0);
}
});
}
// 设置程序大小并定位程序在屏幕正中
private void setSizeAndCentralizeMe(int width, int height) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(width, height);
this.setLocation(screenSize.width / 2 - width / 2, screenSize.height
/ 2 - height / 2);
}
public static void main(String[] args) {
new MyFrame();
}
}
设置程序感观
UIManager.getInstalledLookAndFeels()可得到可用的感观数组,然后取数组中元素的getClassName()方法可得到感观类名,再调用
UIManager.setLookAndFeel(strLookFeel); SwingUtilities.updateComponentTreeUI(this);
方法可设置窗口感观.
public class MyFrame extends JFrame {
/**
* 构造函数
*
*/
public MyFrame() {
// 设置窗口标题
this.setTitle("程序标题");
// 设置程序大小并定位程序在屏幕正中
setSizeAndCentralizeMe(480, 320);
// 显示窗口
setVisible(true);
// 设置程序感观
setupLookAndFeel();
....;
}
...
// 设置程序感观
private void setupLookAndFeel() {
// 取得系统当前可用感观数组
UIManager.LookAndFeelInfo[] arr = UIManager.getInstalledLookAndFeels();
Random random = new Random();
String strLookFeel=arr[random.nextInt(arr.length)].getClassName();
try {
UIManager.setLookAndFeel(strLookFeel);
SwingUtilities.updateComponentTreeUI(this);
} catch (Exception e) {
System.out.println("Can't Set Lookandfeel Style to " + strLookFeel);
}
}
....
}
设置程序感观为跨平台的感观
UIManager.getCrossPlatformLookAndFeelClassName()可得到跨平台的感观.
public class MyFrame extends JFrame {
public MyFrame() {
// 设置窗口标题
this.setTitle("程序标题");
// 设置程序大小并定位程序在屏幕正中
setSizeAndCentralizeMe(480, 320);
// 显示窗口
setVisible(true);
// 设置程序感观
setupLookAndFeel();
}
// 设置程序感观
private void setupLookAndFeel() {
String strLookFeel = UIManager.getCrossPlatformLookAndFeelClassName();
try {
UIManager.setLookAndFeel(strLookFeel);
} catch (Exception e) {
System.out.println("Can't Set Lookandfeel Style to " + strLookFeel);
}
}
}
分享到:
相关推荐
2. **使用`JFrame`创建窗口** 3. **设置窗口属性** 4. **使用线程执行GUI操作** 5. **监听器与事件处理** #### Swing 基本概念 Swing是一个Java GUI工具包,它提供了比AWT更强大的功能,并且具有更多的组件和更...
使用JFrame创建窗口,可以实现更复杂的界面设计,如添加各种Swing组件如JButton、JLabel、JTextField等。 在课程中,学生将学习如何使用Frame类和JFrame类编写简单的GUI程序,包括创建窗口、设置背景色、添加按钮和...
在Java编程中,`JFrame`是Swing库中的一个核心组件,用于创建窗口应用程序的基础。它是`java.awt.Frame`的子类,并扩展了Swing的功能。`JFrame`提供了丰富的功能,允许开发者构建具有菜单栏、按钮、文本框等交互元素...
### JFrame简单设置窗口、菜单与菜单项...通过以上知识点的学习,我们可以深入了解如何使用Java Swing中的`JFrame`类来创建一个具有菜单栏和菜单项的简单窗口。这对于开发图形用户界面应用来说是非常基础且重要的一步。
这个资源——"Java中JFrame窗口组件案例及源代码.rar"——提供了有关如何使用`JFrame`创建窗口应用的实例和源代码,非常适合教师教学以及学生自学。 `JFrame`是所有Swing GUI程序的起点,它代表了一个独立的窗口,...
在Java中,JFrame是一个基本的GUI组件,用于创建窗口式应用程序。然而,在某些情况下,我们可能需要去掉JFrame上的最大化、最小化和关闭按钮,以实现自定义的窗体样式。本文将介绍如何去掉JFrame上的最大化、最小化...
在这个 SwingDemos 中,可能包含了展示如何使用 JFrame 创建窗口以及在窗口上添加组件的示例代码。JFrame 上可以添加菜单栏(JMenuBar)、工具栏(JToolBar)以及其他 GUI 元素。 JButton 是用户交互的一个常见元素...
#### 三、使用JFrame创建窗口界面 在Java中,`JFrame`类是创建主窗口的主要容器之一,它是Swing库的一部分。`JFrame`继承自`java.awt.Window`,并且扩展了它的功能,使其成为一个带有标题栏、边框以及最小化和关闭...
4. 使用JFrame创建窗口 在`TheMoveOfBoll`类中,通过`super("TheMovementofTheBoll")`创建了一个JFrame窗口,并设置窗口的大小为500x500像素,并使窗口可见。 5. Canvas绘图 `TheCanvas`类继承自`Canvas`,这是AWT...
此外,学生还需要了解Swing库的使用方法,例如如何使用JFrame创建窗口、如何使用JPanel进行绘图以及如何处理键盘事件等。 整个项目可能包括以下几个核心组件: 1. 游戏窗口(JFrame):游戏的主要展示窗口。 2. ...
#### 1.2 使用JFrame创建窗口 - 在给定的示例代码中,可以看到`test extends Frame`。需要注意的是,这里的`Frame`实际上应该是指`JFrame`。因为`Frame`属于AWT包,而`JFrame`属于Swing包,更适合于创建GUI程序。 - ...
在Java GUI编程中,`JFrame` 是一个重要的类,用于创建窗口应用程序的基本框架。`JFrame` 提供了默认的窗口布局、标题栏、关闭按钮等基本功能。然而,有时候我们希望为`JFrame`添加更丰富的视觉效果,比如阴影边框和...
1. 创建主窗口并设置布局:使用JFrame创建窗口,通过GridLayout或BorderLayout等布局管理器安排组件。 2. 添加日期显示组件:用JLabel显示当前日期,使用java.time.LocalDate获取当前日期。 3. 创建年月选择组件:...
在实验中,使用JFrame创建窗口,JTextArea展示文本内容,JMenu和MenuItem构建下拉菜单。例如,`new Frame(s)`用于创建一个框架,`new TextArea("")`创建一个空的文本区域,`setMenuBar(menubar)`设置菜单栏。 2. **...
Java Jframe窗体聊天室是一种基于Java Swing库创建的用户界面应用,主要使用JFrame类作为主窗口,为用户提供交互式的聊天环境。这个简易的聊天室项目非常适合Java初学者学习,因为它涵盖了基本的GUI设计、事件处理...
从文档内容来看,本项目可能还会涉及到一些GUI设计,如如何使用JFrame创建窗口,如何用JTextArea显示文本信息,以及如何使用事件监听器来响应用户的操作。 总结来说,本Java课程设计报告是对一个使用Java语言和TCP/...
首先,JFrame是Swing库中用于创建窗口的基本容器。它是java.awt.Window的一个子类,具有窗口的一些基本功能,如添加组件、设置窗口大小、改变窗口状态等。Swing是Java的一部分,用来创建图形用户界面。 接下来,...
3. **创建JLabel**:使用`ImageIcon`创建一个`JLabel`,并将该`JLabel`添加到`JFrame`上。 4. **启用拖放**:通过`DropTarget`类启用组件的拖放功能,设置`DropTargetListener`来处理拖放事件。 5. **事件处理**:...
1. **创建JFrame实例**:通过`new JFrame("窗口标题")` 创建一个新的窗口实例。 2. **添加组件**:`JFrame` 支持添加各种Swing组件,如`JButton`, `JLabel`, `JTextArea`等。使用`add()`方法可以将组件添加到窗口中...
本篇笔记主要聚焦于Swing中的JFrame类,它是创建窗口的基础。我们将深入探讨JFrame的特性、用法以及如何在实际开发中有效地运用它。 首先,JFrame是Java AWT(Abstract Window Toolkit)框架的扩展,它是顶级容器,...