1. 概述
官方JavaDocsApi: javax.swing.Jframe
Jframe,窗口。Jframe 是一个可以独立显示的组件,一个窗口通常包含有标题、图标、操作按钮(关闭、最小化、最大化),还可以为窗口添加菜单栏、工具栏等。一个进程中可以创建多个窗口,并可在适当时候进行显示、隐藏 或 销毁。
Jframe 常用构造方法:
Jframe() Jframe(String title)
Jframe 常用方法:
// 设置窗口的 标题 void setTitle(String title) // 设置窗口的 图标 void setIconImage(Image image) // 设置窗口的 宽高 void setSize(int width, int height) void setSize(Dimension d) void setDefaultCloseOperation(int operation) // 设置窗口是否可放大缩小 void setResizable(boolean resizable) // 设置窗口的 位置(相对于屏幕左上角) void setLocation(int x, int y) void setLocation(Point p) // 设置窗口的 位置 和 宽高 void setBounds(int x, int y, int width, int height) void setBounds(Rectangle rect) // 获取窗口的位置坐标(相对于屏幕坐标空间) Point getLocationOnScreen() // 获取窗口的位置坐标(相对于父级坐标空间, 窗口的父级一般就是屏幕) Point getLocation() void setLocationRelativeTo(Component comp) // 设置将窗口 置顶 显示 void setAlwaysonTop(boolean alwaysOnTop) // 设置窗口的内容面板 void setContentPane(Container contentPane) // 设置窗口是否可见, 窗口对象刚创建和添加相应组件后通过 setVisible(true) 绘制窗口, 其内部组件可能要此时才有宽高值 void setVisible(boolean b) // 判断窗口是否处于显示状态 boolean isShowing() // 销毁窗口, 释放窗口及其所有子组件占用的资源, 之后再次调用 setVisible(true) 将会重构窗口 void dispose() // 调整窗口的大小, 以适合其子组件的首选大小和布局。 void pack()
2. 代码实例
package com.xiets.swing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
public static void main(String[] args) {
final Jframe jf = new Jframe("测试窗口");
jf.setSize(400, 400);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JButton btn = new JButton("Show New Window");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 点击按钮, 显示新的一个窗口
showNewWindow(jf);
}
});
panel.add(btn);
jf.setContentPane(panel);
jf.setVisible(true);
}
public static void showNewWindow(Jframe relativeWindow) {
// 创建一个新窗口
Jframe newJframe = new Jframe("新的窗口");
newJframe.setSize(250, 250);
// 把新窗口的位置设置到 relativeWindow 窗口的中心
newJframe.setLocationRelativeTo(relativeWindow);
// 点击窗口关闭按钮, 执行销毁窗口操作(如果设置为 EXIT_ON_CLOSE, 则点击新窗口关闭按钮后, 整个进程将结束)
newJframe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
// 窗口设置为不可改变大小
newJframe.setResizable(false);
JPanel panel = new JPanel(new GridLayout(1, 1));
// 在新窗口中显示一个标签
JLabel label = new JLabel("这是一个窗口");
label.setFont(new Font(null, Font.PLAIN, 25));
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setVerticalAlignment(SwingConstants.CENTER);
panel.add(label);
newJframe.setContentPane(panel);
newJframe.setVisible(true);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



