(一)Frame
软件的交互方式:
1.dos命令的交互方式。
2.图形化界面的交互方式。
在Java图形化界面编程中把所有的图形类都称为组件类。
所有图形组件都位于:java.awt 和javax.swing包
在awt包中存在的图形类,在swing中一样会存在,区别在于swing的图形都是以J开头。
java.awt包的图形类与javax.swing包的图形类的区别:
1.java.awt包中的所有图形类的图形都是依赖系统的图形库。java.swing包中的所有图形类的图形都是sun自己实现的。
所有图形类都称为组件:
容器组件:
非容器组件:
public static void main(String[] args) {
//创建一个窗体软件,初始是不可见的
JFrame frame=new JFrame("这是我第一个窗体软件");
//设置窗体大小,以像素为单位
//frame.setSize(300,400);
//设置窗体左上角出现的位置
//frame.setBounds(533, 134, 300, 400);//出现在屏幕中间,根据分辨率得出
//将设置位置等操作写成一个工具类
FrameUtil.initFrame(frame, 500, 400);
//设置窗体的可见性
frame.setVisible(true);
//设置窗体的关闭事件
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出并关闭(否则只关闭窗体,不退出程序)
}
//自己实现的图形化界面的工具类
public class FrameUtil {
//设置窗体出现在中间位置
public static void initFrame(JFrame frame,int width,int height) {
//获取默认的系统工具包
Toolkit toolkit=Toolkit.getDefaultToolkit();
//获取屏幕分辨率
Dimension d=toolkit.getScreenSize();
int x=(int)d.getWidth();//返回double类型
int y=(int)d.getHeight();
frame.setBounds((x-width)/2, (y-height)/2, width, height);
//设置窗体的可见性
frame.setVisible(true);
//设置窗体的关闭事件
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
(二)Dialog
Dialog(对话框):
Dialog(Dialog owner,String title,boolean modal)
owner 所有者
title 对话框标题
modal 模式 true:对话框没有关闭时不准操作所有者。 false:对话框即使没有关闭也可以操作所有者。
JOptionPane(对话框):
//消息、警告、错误
showMessageDialog(Component parentComponent,Object message,String title,int messageType)
patentComponent 所有者
message 消息
title 对话框的标题
messageType 指定对话框的类型(消息、警告、错误)
public static void main(String[] args) {
//创建一个窗体
JFrame frame=new JFrame("窗体");
/*
JDialog dialog=new JDialog(frame,"对话框",true);
FrameUtil.initFrame(frame, 500, 400);//433 143
dialog.setBounds(580, 250, 250, 250);
dialog.setVisible(true);
*/
FrameUtil.initFrame(frame, 500, 400);
//消息对话框
//JOptionPane.showMessageDialog(frame, "明天第26天","通知",JOptionPane.INFORMATION_MESSAGE)