我是靠谱客的博主 认真含羞草,最近开发中收集的这篇文章主要介绍关于swing界面创建以及窗口放在屏幕中央的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

/***********************************************************************************************
* 关于创建swing界面,swing用户界面一般包含两种,一种是组件,一种是容器
* 常见的组件主要有:按钮、文本框、文本区域、标签、复选框、单选按钮、滚动条、列表、菜单项和滑块
* 常见的容器主要有:框架、面板、窗口、菜单、菜单栏和选项卡窗格
* 这一节主要学习工具提示,标准对话框等
***********************************************************************************************/
//导入swing开发的相关库
import javax.swing.*;
import java.awt.*;
public class Picture extends JFrame{
/******************************************************************************************
* 定义一些标签和文本框
* 这些标签和文本框的属性是类对象
******************************************************************************************/
public JLabel nameLabel=new JLabel("name:",SwingConstants.CENTER);
public JTextField name;
public JLabel urlLabel=new JLabel("URL:",SwingConstants.CENTER);
public JTextField url;
public JLabel typeLabel=new JLabel("Type:",SwingConstants.CENTER);
public JTextField type;
public JLabel numLabel=new JLabel("Number:",SwingConstants.CENTER);
/******************************************************************************************
* 定义一个构造函数
* 构造函数中主要放置框架名称、尺寸、对关闭框架的响应等
******************************************************************************************/
public
Picture(){
super("测试单元");
//setSize(200,170);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/**************************************************************************************
* 标准对话框
* 创建标准对话框需要使用JOptionPane,是一个小窗口,用于询问问题,向用户发出警告或者提供重要的消息
* 标准对话框不需要创建新的类、不用添加组件、也不用编写事件处理方法,所有这些都是用JOptionPane完成
* 有四个标准对话框类:
*
ConfirmDialog:询问问题,包含Yes、No、Cancel
*
InputDialog:提示用户输入文本
*
MessageDialog:显示消息
*
OptionDialog:包含上面三种对话框
* 具体的调用方法是:showConfirmDialog()、showInputDialog()、showMessageOption()以及
*
showOptionDialog()
**************************************************************************************/
String response1=JOptionPane.showInputDialog(null,"Enter the site name:");
name=new JTextField(response1,20);
String response2=JOptionPane.showInputDialog(null,"Enter the site address:");
url=new JTextField(response2,20);
String[] choices={"Personal","Commercial","Unknown"};
//这里是最复杂的OptionPane()选项框,
//第八个参数作为默认输出
/**************************************************************************************
*这里是最复杂的OptionPane()选项框
*第一个参数表示对话框的父组件
*第二个参数表示要显示的图标、文本或组件
*第三个参数表示对话框标题
*第四个参数表示对话框类型,有YES_NO_OPTION和YES_NO_CANCEL_OPTION,若要使用其他按钮,则字面量为0
*第五个参数表示要显示的图标,有ERROR_MESSAGE,INFORMATION_MESSAGE,PLAIN_MESSAGE,QUESTION_MESSAGE
*
或者是WARNING_MESSAGE,若要用其他图标,则字面量为0
*第六个参数表示Icon对象,用来替代第六个参数指定的图标
*choices被用作第七个参数,提示窗口中输出choices中的三个选项
*第八个参数表示默认输出
**************************************************************************************/
int response3=JOptionPane.showOptionDialog(null, "what type of site is it?",
"Site type", 0, JOptionPane.QUESTION_MESSAGE, null, choices, choices[0]);
//注意到上面的response3返回值是一个int类型,是用户挑选的,可以用于下面的choices[response3]
type =new JTextField(choices[response3],20);
/**************************************************************************************
*滑块
*滑块使用类JSlider来完成,让用户能够通过滑动控制来设置一个位于最大值和最小值之间的值
*一般用滑块来获得数字输入,从而限制可输入的值
*JSlider的构造方法主要有下面几种:
*
JSlider(int):设置指定方向的滑块儿,0表示横向,1表示纵向。最大值100,最小值0,默认值50
*
JSlider(int,int):指定最大值和最小值的滑块
*
JSlider(int,int,int):指定最大值、最小值和默认值的滑块
*
JSlider(int,int,int,int):指定方向、最小值、最大值、默认值的滑块
*在滑块加入容器之前,要进行一些标签的设置:
*
setMajorTickSpacing(int):按指定间隔设置主刻度线
*
setMinorTickSpacing(int):按指定间隔设置次刻度线
*
setPaintTicks(boolean):指定是否显示刻度线
*
setPaintLabels(boolean):指定是否显示数字标签
**************************************************************************************/
JSlider num=new JSlider(0);
num.setMajorTickSpacing(20);
num.setMinorTickSpacing(2);
num.setPaintTicks(true);
num.setPaintLabels(true);
/**************************************************************************************
*滚动窗格
*内置在文本区域或者其他组件内,当组件无法将其中的文本一次性显示出来时,使用滚动条
*在swing中,要让组件能够滚动,必须将它加入到容器JScrollPane中,再将该容器加入其他容器中
*使用函数ScrollPane来创建滚动窗格
*默认情况下,滚动窗格仅在需要是才会显示滚动条,窗格组件比窗格本身小的时候,滚动条将不会出现
*************************************************************************************/
JTextArea textBox=new JTextArea(200,1000);
JScrollPane scroller=new JScrollPane(textBox);
JLabel scrollLabel=new JLabel("Scroll:",SwingConstants.CENTER);
/**************************************************************************************
*工具栏
*用JTooBar类来创建,这是一个容器,将多个组件组织为一行或者一列,被阻止的组件称之为按钮
*默认时,工具栏是水平的
*构造函数为:
*
JToolBar():新建一个工具栏
*
JToolBar(int):创建了工具栏,并指定其方向
*创建以后,使用方法add()来加入其他组件,形成工具栏
*************************************************************************************/
JToolBar bar=new JToolBar(0);
JButton load=new JButton("load");
JButton save=new JButton("save");
bar.add(load);
bar.add(save);
JLabel barLabel=new JLabel("barlabel:",SwingConstants.CENTER);
/*************************************************************************************
*顺序布局
*FlowLayout界面布局管理器
*FlowLayout是最简单的布局管理器,位于java.awt包中,按组件添加顺序从左向右排列。
*FlowLayout(int,int,int)接受三个参数:
*
第一个参数表示对其方式
*
第二个参数表示组件间的水平距离
*
第三个参数表示组件间的垂直距离
*************************************************************************************/
//FlowLayout manager=new FlowLayout(FlowLayout.CENTER,30,10);
//setLayout(manager);
/*************************************************************************************
*方框布局
*BoxLayout类表示方框布局,将组件从左到右或者从上到下排列
*位于javax.swing包中
*对顺序布局作了改进,不管容器的大小如何变化,组件总是排列成一行或者一列
*************************************************************************************/
//JPanel pla=new JPanel();
//BoxLayout boxlay=new BoxLayout(pla,BoxLayout.X_AXIS);
//pla.setLayout(boxlay);
/*************************************************************************************
*网格布局
*将组件放置到由行和列组成的网格中,从网格的第一行开始,从左向右开始排列
*由类GridLayout来定义,位于java.awt包中
*提供了两个参数,分别是网格的行数和列数
*可以指定组件之间的垂直间距和水平间距,通过调用setHgap()和setVap()方法来实现
*也可以调用GridLayout中四个参数来实现,前两个表示行数和列数,后两个表示水平间距和垂直间距
*************************************************************************************/
GridLayout grid=new GridLayout(6,1,5,8);
setLayout(grid);
//setLayout(new GridLayout(6,1,5,8));
/*************************************************************************************
*边框布局
*BorderLayout类,位于java.awt包中,将容器分为5部分,分别是东西南北中
*构造方法BorderLayout()和BorderLayout(int,int),前一个组件间的间距为零,后一个指定水平和垂直间距
*这也是一个容器类,建立完成以后,也要将各个组件添加到容器中
*指定组件加入到边框布局的哪个区域,包括SOUTH,NORTH,EAST,WEST,CENTER
*举个例子:
*
*	JButton bt=new JButton("quit");
*	add(bt,BorderLayout.WEST);
*************************************************************************************/
//直接在框架中添加各种组件,而没有选择添加容器的方式
add(nameLabel);
add(name);
add(urlLabel);
add(url);
add(typeLabel);
add(type);
add(numLabel);
add(num);
add(scrollLabel);
add(scroller);
add(barLabel);
add(bar);
//add(pla);
//setSize(200,600);
pack();
}
}



把窗口放置在屏幕的中央:


int windowWidth = frame.getWidth();
//获得窗口宽
int windowHeight = frame.getHeight();
//获得窗口高
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
//获取屏幕的尺寸
int screenWidth = screenSize.width;
//获取屏幕的宽
int screenHeight = screenSize.height;
//获取屏幕的高
frame.setLocation(screenWidth/2-windowWidth/2, screenHeight/2-windowHeight/2);//设置窗口居中显示



最后

以上就是认真含羞草为你收集整理的关于swing界面创建以及窗口放在屏幕中央的方法的全部内容,希望文章能够帮你解决关于swing界面创建以及窗口放在屏幕中央的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部