窗口(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窗口