GUI图形用户界面

Gui 编程的完成需要窗口、面板、组件、事件监听......

窗口

    this.setSize(500,500);//设置窗口大小

    this.setLocation(100,100);//窗口坐标

    this.setVisible(true);//****窗口是否可见

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口及停止程序

面板

    一个窗口上可以有多个面板,组件只能放在面板上,无法直接放在窗口上。

    面板的布局方式有四种流式布局(默认)、边界布局(东西南北中)、网格布局、随机定点布局。

//JPanel jp=new JPanel();  //创建面板 默认为流式布局      第一种对齐方式,居中对齐流式布局
// JPanel jp=new JPanel(new FlowLayout(FlowLayout.LEFT)); // 创建面板  靠左对齐
JPanel jp=new JPanel(new BorderLayout());  //创建面板   第二种对齐方式    边界布局将面板分成东西南北中五个部分。
//JPanel jp =new JPanel(new GridLayout(3,3));//           第三种对齐方式     网格布局
      将面板分成几行几列的部分    //   行 列
Container c =this.getContentPane();//默认面板  第四种对齐方式  随机布局 将组件定点放在某一个坐标上
JButton jb9=new JButton("按钮");   //                                           随机布局
jb9.setLocation(100,50);//按钮坐标                                              随机布局
jb9.setSize(100,40);//按钮大小                                                  随机布局
c.add(jb9);//                                                                 随机布局
  this.setLayout(null);//设置 *窗口* 布局为null                                  随即布局*/

组件

      组件分为按钮、标签、文本框、菜单

   按钮JButton

JButton jb1 =new JButton("1");  //创建一个名为1的按钮   这里用的是网格布局
JButton jb2 =new JButton("2");//
JButton jb3 =new JButton("3");//
JButton jb4 =new JButton("4");//
JButton jb5 =new JButton("❤");//
jp.add(jb1,BorderLayout.CENTER);//在面板上添加按钮
jp.add(jb2,BorderLayout.EAST);//
jp.add(jb3,BorderLayout.WEST);//
jp.add(jb4,BorderLayout.NORTH);//
jp.add(jb5,BorderLayout.SOUTH);//

 

标签

//   标签
    JButton JBa=new JButton("登录");创建一个名为登录的按钮
    JButton JBb=new JButton("取消");创建一个名为取消的按钮
    JLabel JLaccount =new JLabel("账号");创建一个名为账号的标签
    JLabel  JLpassword=new JLabel("密码");创建一个名为密码的标签
//                                    加粗
    JLaccount.setFont(new Font("隶书",Font.BOLD,20));标签的字体 加粗  大小
    JLpassword.setFont(new Font("隶书",Font.BOLD,20));
    JLaccount.setForeground(Color.black);标签字体颜色
    JLpassword.setForeground(Color.black);标签字体颜色

文本框

 

账号框  
JTextField accountField=new JTextField(15);
//                   密码框
        JTextField passwordField=new JPasswordField(15);
        

 

菜单

     

 

new Menu();//添加菜单
dispose();//打开菜单然后关闭窗口

事件监听

    

JBa.addMouseListener(new MouseAdapter() {               //监听鼠标
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("鼠标点击");
    }

    @Override
    public void mousePressed(MouseEvent e) {
        System.out.println("鼠标按压");
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        System.out.println("鼠标松开");
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        System.out.println("鼠标进入");
    }

    @Override
    public void mouseExited(MouseEvent e) {
        System.out.println("鼠标离开");
    }

    @Override
    public void mouseMoved(MouseEvent e) {
        System.out.println("鼠标移开");
}
});

    ******动作监听

JBa.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
     try {
         String accountLabel=accountField.getText();
         if(accountLabel.length()==0){
             //消息框
             JOptionPane.showMessageDialog(null,"账号不存在");
             return;
         }
         String password =passwordField.getText();
         if(password.length()==0){
             JOptionPane.showMessageDialog(null,"密码错误");
             return;
         }

等等 还有键盘监听......

最后将组件add添加到面板上,将面板add添加到窗口上

最后输出窗口即可

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值