Java里Swing的窗口练习代码(3)

窗口(JFrame

  • 代码部分
package top.linksinke.test;

import javax.swing.JFrame;

/**
 * 窗体的一些属性设置<br/>
 * create by LINKSINKE on 2020/3/2
 */
public class FrameTest {
	public static void main(String[] args) {
		JFrame jframe = new JFrame();

		// 设置close的关闭操作(关闭窗口并停止程序运行)
		jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// 设置窗口的显示大小
		jframe.setSize(300, 400);

		// 设置窗口的显示位置
		jframe.setLocation(20, 20);
		/**
		 * 位置只能设置一个,这点要注意,上面设置了下面就会覆盖上面的设置<br/>
		 * // 相对位置,设置相对于某某组件的位置,null就直接居中显示 <br/>
		 * jframe.setLocationRelativeTo(null);
		 */

		// 同时设置窗口的显示位置和显示大小
		// jframe.setBounds(20, 20, 300, 400);
		
		// 设置窗口的标题
		jframe.setTitle("java swing学习 ing...");

		// 始终在其他窗口之上,类似置顶的效果
		jframe.setAlwaysOnTop(true);

		// 设置窗口不能最大化操作(最大化按钮被禁用,窗口无法拖拽改变大小)
		jframe.setResizable(true);

		// 设置窗口为显示状态(true为显示,false为不显示)
		jframe.setVisible(true);
	}
}
  • 代码效果图
    在这里插入图片描述

对话框Dialog(JDialog

  • 代码部分
package top.linksinke.jframe;

import java.awt.Button;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
 * dialog使用<br />
 * create by LINKSINKE on 2020/2/28
 */
public class JDialogTest extends JDialog {

	/**
	 * 构造参数,初始化对象必须要给的三个值
	 * 
	 * @param owner
	 *            属于的frame对象
	 * @param title
	 *            dialog标题
	 * @param modal
	 *            dialog是否为modal显示,可选为true|false
	 */
	public JDialogTest(Frame owner, String title, boolean modal) {
		super(owner, title, modal);
		// 默认打开窗口的x、y坐标和打开窗口后的大小
		this.setBounds(50, 60, 300, 80);
	}

	public static void main(String[] args) {
		// 设置父窗口的一些属性
		final JFrame fatherFrame = new JFrame("我是父窗体标题");
		fatherFrame.setBounds(30, 30, 400, 300);// 设置默认显示父窗口的x、y坐标和打开之后的大小
		fatherFrame.setVisible(true);// 设置窗口是否显示
		fatherFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置close按钮要执行的操作

		// 获取父窗口的容器对象,设置布局方式为流式布局,添加一个操作按钮
		Container ctainer = fatherFrame.getContentPane();
		ctainer.setLayout(new FlowLayout());// 设置布局方式为流式布局
		// 添加btn到容器ctainer对象里
		Button btn = new Button("alert一下");
		ctainer.add(btn);

		// 给按钮的动作绑定一个监听事件
		btn.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				JDialog jdg = new JDialogTest(fatherFrame, "Dialog标题", true);
				jdg.add(new JLabel("曾经沧海难为水,除却巫山不是云"));
				jdg.setVisible(true);// 设置窗口是否显示(true:表示显示窗口,false:表示不显示窗口)
			}
		});

	}
}
  • 代码效果图
    注:由于Dialog的modal给设置为true了,后面的 “alert一下” 按钮是无法点击的。
    在这里插入图片描述
    在这里插入图片描述
    我们再去修改为false(modal=false),看看是什么样子??
    在这里插入图片描述
    在这里插入图片描述
    注:modal=false的时候,会发现Dialog窗口后的按钮可以点击,并且会不停的弹出Dialog窗口
发布了68 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_29001539/article/details/104550792