GUI容器
窗体JFrame
package demo01;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class JDialogTest extends JDialog {
public static void main(String[] args) {
JDialog jd=new JDialog();
jd.setVisible(true);
jd.setBounds(600,300,400,300);
Container c=jd.getContentPane();//获取窗体容器
c.add(new JLabel("这是一个标签"));
}
}
面板
package demo01;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class JFrameTest extends JFrame {
public JFrameTest(){
//设置窗体可见
setVisible(true);
//注意:点击右上角关闭没有结束程序的运行
/*
* EXIT_ON_CLOSE:隐藏窗体,并停止程序
* DO_NOTHING_ON_CLOSE:无任何操作
* HIDE_ON_CLOSE:隐藏窗体没有停止程序
* DISPOSE_ON_CLOSE:释放窗体资源
* */
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//setLocation(600,300);//设置位置,单位:像素,从左上角0,0开始
//setSize(350,300);//设置大小,单位:像素
setBounds(600,300,350,300);
// 位置 , 大小
Container c=getContentPane();
c.setBackground(Color.pink);//设置背景颜色
JLabel l=new JLabel("自动登录");
add(l);//添加组件
//c.remove(l); 移除组件
validate();
//f.setContentPane(c);
setResizable(false);
System.out.println("x="+getX()+" y="+getY());
}
public static void main(String[] args) {
//JFrame f=new JFrame("窗体标题");//创建窗体对象,可在函数中设置窗体标题
new JFrameTest();
}
}
对话框
package demo01;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class JDialogTest2 extends JDialog {
public JDialogTest2(JFrame frame) {
super(frame,"对话框标签",true);
setVisible(true);//设置窗体可见
setBounds(600,300,350,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
JFrame f=new JFrame("父窗体");
f.setBounds(50,50,350,300);
Container c=f.getContentPane();
JButton btn=new JButton("弹出对话框");
c.setLayout(new FlowLayout());
c.add(btn);
f.setVisible(true);
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
JDialogTest2 jd=new JDialogTest2(f);
jd.setVisible(true);
}
});
}
}
2020080605012