Java教程

窗体

本文主要是介绍窗体,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.JFrame窗体

  窗体作为组件的载体,是展示界面程序的根本,也可以认为窗体是最外层的容器。

  

package chuangti;

import java.awt.Color;
import java.awt.Container;

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

public class Demo {
    public static void main(String[] args) {
        JFrame frame=new JFrame("窗体标题");//创建窗体对象
        frame.setVisible(true);//设置窗体可见
        //窗体可见后关闭窗体,窗体消失,但是程序并没有结束运行
        
        //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //EXIT_ON_CLOSE:隐藏窗口时,停止程序
        
        //frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        //DO_NOTHING_ON_CLOSE:无任何操作
        
        //frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        //HIDE_ON_CLOSE:隐藏床体,但不停止程序
        
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //DISPOSE_ON_CLOSE:释放窗体资源
        
        
        //frame.setSize(300,300);//设置窗体宽和高,单位:像素
        //frame.setLocation(200, 200);//设置坐标,单位:像素
        frame.setBounds(200, 200, 300, 300);//设置窗体坐标和大小,单位:像素
        
        Container container=frame.getContentPane();//获取窗体容器
        container.setBackground(Color.white);//设置背景颜色
        JLabel label=new JLabel("zhongguo");
        container.add(label);//添加组件
//        container.remove(label);//删除组件
        container.validate();//验证容器中的组件(刷新组件)
//        frame.setContentPane(container);//重新载入容器
        
        frame.setResizable(false);//设置窗体是否可以改变大小
        
        System.out.println("x="+frame.getX()+" y="+frame.getY());//获取窗体的位置坐标
    }
}
package chuangti;

import java.awt.Color;
import java.awt.Container;

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

public class Demo1 extends JFrame{//让Demo1类也成为一个窗体
    public Demo1() {
        setVisible(true);//设置窗体可见
        setTitle("窗体标题1");
        //窗体可见后关闭窗体,窗体消失,但是程序并没有结束运行
        
        //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //EXIT_ON_CLOSE:隐藏窗口时,停止程序
        
        //frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        //DO_NOTHING_ON_CLOSE:无任何操作
        
        //frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        //HIDE_ON_CLOSE:隐藏床体,但不停止程序
        
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //DISPOSE_ON_CLOSE:释放窗体资源
        
        
        //frame.setSize(300,300);//设置窗体宽和高,单位:像素
        //frame.setLocation(200, 200);//设置坐标,单位:像素
        setBounds(200, 200, 300, 300);//设置窗体坐标和大小,单位:像素
        
        Container container=getContentPane();//获取窗体容器
        container.setBackground(Color.white);//设置背景颜色
        JLabel label=new JLabel("zhongguo");
        container.add(label);//添加组件
//        container.remove(label);//删除组件
        container.validate();//验证容器中的组件(刷新组件)
//        frame.setContentPane(container);//重新载入容器
        
        setResizable(false);//设置窗体是否可以改变大小
        
        System.out.println("x="+getX()+" y="+getY());//获取窗体的位置坐标
    }
    public static void main(String[] args) {
        new Demo1();
    }
}

2.JDialog对话框窗体

package duihuakuang;

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

import javax.swing.*;

public class Demo extends JDialog{
    public Demo(JFrame frame) {
        /*
         * 第一个参数,父窗体对象
         * 第二个参数,对话框标题
         * 第三个参数,是否阻塞父窗体
         */
        super(frame,"对话框标题",true);
        
        Container container=getContentPane();//获取窗体容器
        container.add(new JLabel("这是一个对话框"));
        
        setBounds(100,100,100,100);//设置窗体坐标和大小
    }
    
    public static void main(String[] args) {
        JFrame frame=new JFrame("父窗体");
        frame.setBounds(50,50,300,300);
        Container container=frame.getContentPane();
        JButton btnButton=new JButton("弹出对话框");
        container.setLayout(new FlowLayout());//设置布局,使用流布局
        container.add(btnButton);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        
        btnButton.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO 自动生成的方法存根
                Demo demo=new Demo(frame);
                demo.setVisible(true);
            }
        });//添加动作监听
        
    }
}

 

  

这篇关于窗体的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!