JFrame、JoptionPanel对话框

软件的交互方式:
1. 控制台的交互方式、
2. 图形化界面的交互方式 。

java使用到的图形类主要在java.awt 与javax.swing包中。

java.awt 与 javax.swing包的区别:
java.awt中使用的图形类都是依赖于系统 的图形库的。
javax.swing包使用到的图形类都是sun自己实现,不需要依赖系统的图形库。

疑问: 既然swing包中的图形类已经取代awt包的图形类,为什么不删除awt呢?

在java中所有的图形类都被称作组件类。

组件的类别:
----------| 容器组件

----------| 非容器组件

  Frame:

public class Demo1 {

	public static void main(String[] args) {
		JFrame frame = new JFrame("这个是我第一个图形化界面的例子");
		//设置窗体的大小
//		frame.setSize(300,400);
		//设置窗体(左上角)出现的位置
		//frame.setBounds((1366-300)/2, (768-400)/2, 300,400); // 第一个参数是左上角的x轴坐标, 第二参数是左上角y的坐标。 第三个窗体宽, 第四窗体的高。
		initFrame(frame, 300,400);
		frame.setVisible(true); //setVisible 设置窗体的可见性。
		//设置窗体关闭事件
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	}
	
	
	//获取屏幕的分辨率   设置窗体在屏幕的居中位置。
	public static void initFrame(JFrame frame,int width , int height){
		Toolkit toolkit = Toolkit.getDefaultToolkit(); //获取一个与系统相关工具类对象
		//获取屏幕的分辨率
		Dimension d = toolkit.getScreenSize();
		int x = (int) d.getWidth();
		int y = (int) d.getHeight();
		frame.setBounds((x-width)/2, (y-height)/2, width, height);
		
	}
	
	
	
}
初始化窗体的工具类:

package cn.itcast.util;

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

import javax.swing.JFrame;

//初始化窗体的工具类
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();
		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):
  JDialog(Dialog owner, String title, boolean modal) 
  owner: 所有者
  title : 标题
  modal : modal
 
JOptionPane(对话框)
消息对话框
警告对话框
错误对话框
输入对话框
确认对话框
public class Demo2 {

	public static void main(String[] args) {
		/*JFrame frame = new JFrame("窗体");
		//创建对话框
		JDialog dialog = new JDialog(frame, "对话框",true);
		//使用我自定义的 窗体工具类
		FrameUtil.initFrame(frame, 300, 400);
		
		dialog.setBounds(500,300, 100, 200);
		dialog.setVisible(true); //设置对话框的可见性
*/		
		
		JFrame frame = new JFrame("窗体");
		//显示一个对话框
		FrameUtil.initFrame(frame, 300, 400);
		//消息对话框
		/*JOptionPane.showMessageDialog(frame, "明天不用上课", "通知",JOptionPane.INFORMATION_MESSAGE);
		//警告对话框
		JOptionPane.showMessageDialog(frame,"警告某位同学晚上晚自习不要看动漫","警告",JOptionPane.WARNING_MESSAGE);*/
		//错误对话框
//		JOptionPane.showMessageDialog(frame,"扣6分","错误",JOptionPane.ERROR_MESSAGE);
		
		//输入框
	/*	String moeny = JOptionPane.showInputDialog("请输入你要给我的金额($)");
		System.out.println("money:"+ moeny);*/
		
		//确认框
		int num = JOptionPane.showConfirmDialog(frame, "你确认要卸载吗?");
		System.out.println(num);
	}
	
}

 文件对话框(FileDialog):

FileDialog(Dialog parent, String title, int mode) 
parent: 对话框的所有者
tiltle : 对话框的标题
mode: load(打开) 、 save(保存)
public class Demo3 {

	public static void main(String[] args) {
		JFrame frame = new JFrame("窗体");
		//创建一个文件对话框(初始也是不可见)
		//FileDialog fileDialog = new FileDialog(frame, "请选择打开的文件", FileDialog.LOAD);
		FileDialog fileDialog = new FileDialog(frame,"请选择保存的路径",FileDialog.SAVE);
		FrameUtil.initFrame(frame, 300,400);
		fileDialog.setVisible(true);
		System.out.println("文件所在的目录:"+ fileDialog.getDirectory());
		System.out.println("文件名:"+ fileDialog.getFile());
				
	}
	
}

面板(JPanel):

public class Demo4 {
	
	public static void main(String[] args) {
		JFrame frame = new JFrame("窗体");
		//创建一个面板
		JPanel panel = new JPanel();
		//设置面板的背景颜色
		panel.setBackground(Color.RED);
		//把面板添加到窗体
		frame.add(panel);
		FrameUtil.initFrame(frame, 400, 300);
		
		
	}
	
}







  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值