窗体、对话框默认边界布局管理器

24 篇文章 0 订阅

JFrame、JDialog默认布局管理器

  • 窗体(对话框)的默认布局管理器为边界布局管理器
  • 向其中添加组件时,如没有指定位置,则会占满整个窗体(对话框)
  • 也可以设置布局:setLayout(null):这种情况下,需要手动设置各个组件的位置

Demo01–手动设置组件位置

import javax.swing.*;
import java.awt.*;

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默认布局窗体");
        jFrame.setLayout(null);
        JButton jButton1 = new JButton("button1");
        JButton jButton2 = new JButton("button2");
        jButton1.setBounds(10,10,100,20);
        jButton2.setBounds(10,40,100,20);
        jFrame.add(jButton1);
        jFrame.add(jButton2);
        //设置窗体背景色
        jFrame.setBackground(Color.CYAN);
        //设置窗体大小
        jFrame.setSize(400,400);
        //设置窗体可见
        jFrame.setVisible(true);
        //设置窗体关闭方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo01运行结果如下
在这里插入图片描述
Demo02–使用默认布局

import javax.swing.*;
import java.awt.*;

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默认布局窗体");
        JButton jButton1 = new JButton("button1");
        jFrame.add(jButton1);
        //设置窗体背景色
        jFrame.setBackground(Color.CYAN);
        //设置窗体大小
        jFrame.setSize(400,400);
        //设置窗体可见
        jFrame.setVisible(true);
        //设置窗体关闭方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo02运行结果如下
在这里插入图片描述
Demo03–使用BorderLayout设置组件位置

import javax.swing.*;
import java.awt.*;

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默认布局窗体");
//        jFrame.setLayout(null);
        JButton jButton1 = new JButton("button1");
        JButton jButton2 = new JButton("button2");
        //设置组件的位置
        jFrame.add(jButton1,BorderLayout.NORTH);
        jFrame.add(jButton2,BorderLayout.CENTER);
        jFrame.add(BorderLayout.SOUTH,new JButton("button3"));
        //设置窗体背景色
        jFrame.setBackground(Color.CYAN);
        //设置窗体大小
        jFrame.setSize(400,400);
        //设置窗体可见
        jFrame.setVisible(true);
        //设置窗体关闭方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo03运行结果如下

  • 左边和右边区域默认被其它组件填充

在这里插入图片描述
注意

  • 使用JFrame对象直接调用add()方法添加组件和使用getContentPane()获取一个Container对象来添加组件结果是一样的,Java1.5以后,两种操作方式都是调用同一个add方法
  • add方法如下所示
  public void add(Component comp, Object constraints) {
        addImpl(comp, constraints, -1);
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Dialog的窗体对话框示例的VC++源码: ```cpp #include <Windows.h> // 对话框回调函数 BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: // 初始化对话框 return TRUE; case WM_COMMAND: // 处理对话框中的控件消息 switch (LOWORD(wParam)) { case IDOK: // 用户点击了确定按钮 EndDialog(hwndDlg, IDOK); return TRUE; case IDCANCEL: // 用户点击了取消按钮 EndDialog(hwndDlg, IDCANCEL); return TRUE; } break; } return FALSE; } // 主函数 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 创建对话框 DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, DialogProc); return 0; } ``` 在上面的代码中,我们首先定义了一个对话框回调函数`DialogProc`,它处理对话框的消息。在这个回调函数中,我们处理了`WM_INITDIALOG`消息来初始化对话框,并处理了`WM_COMMAND`消息来响应用户在对话框中的控件上的操作。 接下来,在主函数`WinMain`中,我们调用了`DialogBox`函数来创建对话框。`DialogBox`函数接收四个参数:应用程序实例句柄`hInstance`、对话框资源的ID`IDD_DIALOG`、父窗口句柄`NULL`和对话框回调函数`DialogProc`。这样就创建了一个对话框,并等待用户的操作。 用户点击确定按钮时,我们调用`EndDialog`函数来关闭对话框,并返回`IDOK`作为结果。用户点击取消按钮时,我们调用`EndDialog`函数来关闭对话框,并返回`IDCANCEL`作为结果。 以上就是一个简单的Dialog窗体对话框示例的VC++源码。通过这个源码,我们可以创建一个包含确定和取消按钮的对话框,并响应用户的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值