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);
    }
}

原文地址:https://www.cnblogs.com/suozhang/p/6525516.html