zoukankan      html  css  js  c++  java
  • java 编写小工具 尝试 学习(六)

    1、java 布局管理器-布局管理器之null布局(空布局) 的 学习,参考大神教程:http://www.cnblogs.com/liaoliao/p/5009445.html

    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.SwingConstants;
    import javax.swing.WindowConstants;
    
    public class SuoZhangFrame extends JFrame
    {
        public SuoZhangFrame(String title)
        {
            this.setTitle(title);//设置窗口标题
            
            //这句代码是当用户关闭窗口的时候关掉应用程序
            this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            
            this.setSize(800, 600);//设置长和宽,最常见的屏幕分辨率 1366*768,2017年3月9日09:31:24
            
            this.setLocation(100,100);//设置起点位置,屏幕右上角 为(0,0)
            
            this.setVisible(true); //设置窗口的可见性
            
            
            //设置窗体为空布局,2017年3月9日14:04:26
            this.setLayout(null);
            
            //创建一个单行文本对象
            JTextField textfield =new JTextField("请输入要发送的消息");
            
            //添加这个 单行文本 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个单行文本控件
            this.getContentPane().add(textfield);
            
            //设置 "单行文本"的精确位置(x,y,width,height)
            textfield.setBounds(60,30,180,35);
            
            //创建一个按钮1对象
            JButton button1 =new JButton("发送");
            
            //添加这个 按钮1 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个单行文本控件
            this.getContentPane().add(button1);
            
            //设置 "按钮1"的精确位置(x,y,width,height)
            //注意 Y ==85 是大于 textfield的 Y 值+height 值,这样两个容器才不会重叠
            button1.setBounds(60,85,105,35);
            
    //        //创建一个面板对象,这个面板就是一个组件容器
    //        JPanel pan = new JPanel();
    //        
    //        //添加 容器
    //        this.add(pan);
    //        
    //        //创建一个标签对象
    //        JLabel label =new JLabel("测试标签",null,SwingConstants.RIGHT);
    //        
    //        //添加这个 标签 lable 对象 到面板上
    //        pan.add(label);
    //        
    //        //创建一个单行文本对象
    //        JTextField textfield =new JTextField("测试单行文本输入框");
    //        
    //        //添加这个 单行文本 对象 到面板上
    //        pan.add(textfield);
    //        
    //        //创建一个 单行文本密码输入框 对象
    //        JPasswordField passwordfield =new JPasswordField("123456");//默认密码 123456
    //        
    //        //添加这个 单行文本密码输入框 对象 到面板上
    //        pan.add(passwordfield);
    //        
    //        //创建一个 显示纯文本的多行区域 对象
    //        JTextArea textarea =new JTextArea("测试显示纯文本的多行区域");
    //        
    //        //添加这个 显示纯文本的多行区域 对象 到面板上
    //        pan.add(textarea);
    //        
    //        //创建一个按钮对象
    //        JButton button =new JButton("测试按钮");
    //        
    //        //添加这个 BUTTON 对象 到面板上
    //        pan.add(button);
    //        
    //        //创建一个单选按钮对象
    //        JRadioButton jradiobutton =new JRadioButton("测试单选按钮");
    //        
    //        //添加这个 jradiobutton 对象 到面板上
    //        pan.add(jradiobutton);
    //        
    //        //创建一个多选按钮对象
    //        JCheckBox jchackbox =new JCheckBox("测试多选按钮");
    //        
    //        //添加这个 jchackbox 对象 到面板上
    //        pan.add(jchackbox);
            
            //创建一个列表对象,list 需要 设置内容,暂时还不会,2017年3月9日10:15:44
            //JList jlist =new JList("测试列表");
            
            //添加这个 jlist 对象 到面板上
            //pan.add(jlist);
            
            //创建一个下拉列表对象,JComboBox 需要 设置内容,暂时还不会,2017年3月9日10:15:44
            //JComboBox jcombobox =new JComboBox("测试下拉列表");
            
            //添加这个 jcombobox 对象 到面板上
            //pan.add(jcombobox);
        }
    }
    public class UsartControl
    {
    
        public static void main(String[] args)
        {
            // TODO Auto-generated method stub
            
            SuoZhangFrame frame = new SuoZhangFrame("网点控制器网络模拟器 V1.0");
    
        }
    
    }

    运行效果图:

    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.SwingConstants;
    import javax.swing.WindowConstants;
    
    public class SuoZhangFrame extends JFrame
    {
        public SuoZhangFrame(String title)
        {
            this.setTitle(title);//设置窗口标题
            
            //这句代码是当用户关闭窗口的时候关掉应用程序
            this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            
            this.setSize(800, 600);//设置长和宽,最常见的屏幕分辨率 1366*768,2017年3月9日09:31:24
            
            this.setLocation(100,100);//设置起点位置,屏幕右上角 为(0,0)
            
            this.setVisible(true); //设置窗口的可见性
            
            
            //设置窗体为空布局,2017年3月9日14:04:26
            this.setLayout(null);
            
            //创建一个单行文本对象
            JTextField textfield =new JTextField("请输入要发送的消息");
            
            //添加这个 单行文本 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个单行文本控件
            this.getContentPane().add(textfield);
            
            //设置 "单行文本"的精确位置(x,y,width,height)
            textfield.setBounds(60,30,180,35);
            
            //创建一个按钮1对象
            JButton button1 =new JButton("发送");
            
            //添加这个 按钮1 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个按钮1
            this.getContentPane().add(button1);
            
            //设置 "按钮1"的精确位置(x,y,width,height)
            //注意 Y ==85 是大于 textfield的 Y 值+height 值,这样两个控件才不会重叠
            button1.setBounds(60,85,105,35);
            
            //创建一个标签对象
            JLabel label =new JLabel("接收消息显示区域");
            
            //添加这个 标签 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个标签 
            this.getContentPane().add(label);
            
            //设置 "标签对象"的精确位置(x,y,width,height)
            //注意 Y ==85 是大于 button1 的 Y 值+height 值,这样两个控件才不会重叠
            label.setBounds(60,130,105,35);
            
            //创建一个 显示纯文本的多行区域 对象
            JTextArea textarea =new JTextArea("接收数据显示区域,2017年3月9日15:10:07");
            
            //添加这个 显示纯文本的多行区域 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个显示纯文本的多行区域
            this.getContentPane().add(textarea);
            
            //设置 "显示纯文本的多行区域"的精确位置(x,y,width,height)
            //注意 Y ==85 是大于 label 的 Y 值+height 值,这样两个控件才不会重叠
            textarea.setBounds(60,180,505,205);
            
    //        //创建一个面板对象,这个面板就是一个组件容器
    //        JPanel pan = new JPanel();
    //        
    //        //添加 容器
    //        this.add(pan);
    //        
    //        //创建一个标签对象
    //        JLabel label =new JLabel("测试标签",null,SwingConstants.RIGHT);
    //        
    //        //添加这个 标签 lable 对象 到面板上
    //        pan.add(label);
    //        
    //        //创建一个单行文本对象
    //        JTextField textfield =new JTextField("测试单行文本输入框");
    //        
    //        //添加这个 单行文本 对象 到面板上
    //        pan.add(textfield);
    //        
    //        //创建一个 单行文本密码输入框 对象
    //        JPasswordField passwordfield =new JPasswordField("123456");//默认密码 123456
    //        
    //        //添加这个 单行文本密码输入框 对象 到面板上
    //        pan.add(passwordfield);
    //        
    //        //创建一个 显示纯文本的多行区域 对象
    //        JTextArea textarea =new JTextArea("测试显示纯文本的多行区域");
    //        
    //        //添加这个 显示纯文本的多行区域 对象 到面板上
    //        pan.add(textarea);
    //        
    //        //创建一个按钮对象
    //        JButton button =new JButton("测试按钮");
    //        
    //        //添加这个 BUTTON 对象 到面板上
    //        pan.add(button);
    //        
    //        //创建一个单选按钮对象
    //        JRadioButton jradiobutton =new JRadioButton("测试单选按钮");
    //        
    //        //添加这个 jradiobutton 对象 到面板上
    //        pan.add(jradiobutton);
    //        
    //        //创建一个多选按钮对象
    //        JCheckBox jchackbox =new JCheckBox("测试多选按钮");
    //        
    //        //添加这个 jchackbox 对象 到面板上
    //        pan.add(jchackbox);
            
            //创建一个列表对象,list 需要 设置内容,暂时还不会,2017年3月9日10:15:44
            //JList jlist =new JList("测试列表");
            
            //添加这个 jlist 对象 到面板上
            //pan.add(jlist);
            
            //创建一个下拉列表对象,JComboBox 需要 设置内容,暂时还不会,2017年3月9日10:15:44
            //JComboBox jcombobox =new JComboBox("测试下拉列表");
            
            //添加这个 jcombobox 对象 到面板上
            //pan.add(jcombobox);
        }
    }

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.SwingConstants;
    import javax.swing.WindowConstants;
    
    public class SuoZhangFrame extends JFrame
    {
        
        static int clickCounter=0;
        
        
        public SuoZhangFrame(String title)
        {
            this.setTitle(title);//设置窗口标题
            
            //这句代码是当用户关闭窗口的时候关掉应用程序
            this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            
            this.setSize(800, 600);//设置长和宽,最常见的屏幕分辨率 1366*768,2017年3月9日09:31:24
            
            this.setLocation(100,100);//设置起点位置,屏幕右上角 为(0,0)
            
            this.setVisible(true); //设置窗口的可见性
            
            
            //设置窗体为空布局,2017年3月9日14:04:26
            this.setLayout(null);
            
            //创建一个单行文本对象
            JTextField textfield =new JTextField("请输入要发送的消息");
            
            //添加这个 单行文本 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个单行文本控件
            this.getContentPane().add(textfield);
            
            //设置 "单行文本"的精确位置(x,y,width,height)
            textfield.setBounds(60,30,180,35);
            
            //创建一个按钮1对象
            JButton button1 =new JButton("发送");
            
            //添加这个 按钮1 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个按钮1
            this.getContentPane().add(button1);
            
            //设置 "按钮1"的精确位置(x,y,width,height)
            //注意 Y ==85 是大于 textfield的 Y 值+height 值,这样两个控件才不会重叠
            button1.setBounds(60,85,105,35);
            
            //创建一个标签对象
            JLabel label =new JLabel("接收消息显示区域");
            
            //添加这个 标签 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个标签 
            this.getContentPane().add(label);
            
            //设置 "标签对象"的精确位置(x,y,width,height)
            //注意 Y ==130 是大于 button1 的 Y 值+height 值,这样两个控件才不会重叠
            label.setBounds(60,130,105,35);
            
            //创建一个 显示纯文本的多行区域 对象
            JTextArea textarea =new JTextArea("接收数据显示区域,2017年3月9日15:10:07");
            
            //添加这个 显示纯文本的多行区域 对象 到面板上,2017年3月9日14:16:09
            //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个显示纯文本的多行区域
            this.getContentPane().add(textarea);
            
            //设置 "显示纯文本的多行区域"的精确位置(x,y,width,height)
            //注意 Y ==180 是大于 label 的 Y 值+height 值,这样两个控件才不会重叠
            textarea.setBounds(60,180,505,205);
            
    
            
            //使用匿名的内部类,第一种事件监听方法
            button1.addActionListener(new ActionListener()
                    {
                        @Override
                        public void actionPerformed(ActionEvent e)
                        {
                            clickCounter++;
                            
                            // TODO Auto-generated method stub
                            textarea.setText("我被点击了"+clickCounter);
                        }
                        
                    });
            
    //        //创建一个面板对象,这个面板就是一个组件容器
    //        JPanel pan = new JPanel();
    //        
    //        //添加 容器
    //        this.add(pan);
    //        
    //        //创建一个标签对象
    //        JLabel label =new JLabel("测试标签",null,SwingConstants.RIGHT);
    //        
    //        //添加这个 标签 lable 对象 到面板上
    //        pan.add(label);
    //        
    //        //创建一个单行文本对象
    //        JTextField textfield =new JTextField("测试单行文本输入框");
    //        
    //        //添加这个 单行文本 对象 到面板上
    //        pan.add(textfield);
    //        
    //        //创建一个 单行文本密码输入框 对象
    //        JPasswordField passwordfield =new JPasswordField("123456");//默认密码 123456
    //        
    //        //添加这个 单行文本密码输入框 对象 到面板上
    //        pan.add(passwordfield);
    //        
    //        //创建一个 显示纯文本的多行区域 对象
    //        JTextArea textarea =new JTextArea("测试显示纯文本的多行区域");
    //        
    //        //添加这个 显示纯文本的多行区域 对象 到面板上
    //        pan.add(textarea);
    //        
    //        //创建一个按钮对象
    //        JButton button =new JButton("测试按钮");
    //        
    //        //添加这个 BUTTON 对象 到面板上
    //        pan.add(button);
    //        
    //        //创建一个单选按钮对象
    //        JRadioButton jradiobutton =new JRadioButton("测试单选按钮");
    //        
    //        //添加这个 jradiobutton 对象 到面板上
    //        pan.add(jradiobutton);
    //        
    //        //创建一个多选按钮对象
    //        JCheckBox jchackbox =new JCheckBox("测试多选按钮");
    //        
    //        //添加这个 jchackbox 对象 到面板上
    //        pan.add(jchackbox);
            
            //创建一个列表对象,list 需要 设置内容,暂时还不会,2017年3月9日10:15:44
            //JList jlist =new JList("测试列表");
            
            //添加这个 jlist 对象 到面板上
            //pan.add(jlist);
            
            //创建一个下拉列表对象,JComboBox 需要 设置内容,暂时还不会,2017年3月9日10:15:44
            //JComboBox jcombobox =new JComboBox("测试下拉列表");
            
            //添加这个 jcombobox 对象 到面板上
            //pan.add(jcombobox);
        }
    }

  • 相关阅读:
    HDU2059(龟兔赛跑)
    pat 1012 The Best Rank
    pat 1010 Radix
    pat 1007 Maximum Subsequence Sum
    pat 1005 Sign In and Sign Out
    pat 1005 Spell It Right
    pat 1004 Counting Leaves
    1003 Emergency
    第7章 输入/输出系统
    第六章 总线
  • 原文地址:https://www.cnblogs.com/suozhang/p/6525516.html
Copyright © 2011-2022 走看看