Java6学习笔记22——在Swing中不使用Layout管理器直接描绘窗口

本文介绍了一个使用Java Swing创建GUI界面的具体实例。通过设置不同位置的按钮并为它们添加监听器来实现窗口的基本交互功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Container;
import java.awt.Insets;
import java.awt.Dimension;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class XYLayout extends JFrame implements ActionListener {
    public static void main(String arg[]) {
        new XYLayout();
    }
    public XYLayout() {
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        } );
        buildFrame();
        setLocation(250,150);
        setVisible(true);
    }
    private void buildFrame() {
        JButton button;
        Dimension size;

        Container pane = getContentPane();
        pane.setLayout(null);

        Insets insets = pane.getInsets();

        button = new JButton("first");
        size = button.getPreferredSize();
        button.setBounds(25 + insets.left,15 + insets.top,
             size.width,size.height);
        pane.add(button);

        button = new JButton("second");
        size = button.getPreferredSize();
        button.setBounds(55 + insets.left,120 + insets.top,
             size.width,size.height);
        pane.add(button);

        button = new JButton("Exit");
        size = button.getPreferredSize();
        button.addActionListener(this);
        button.setBounds(150 + insets.left,45 + insets.top,
             size.width + 50,size.height + 20);
        pane.add(button);

        int width = 300 + insets.left + insets.right;
        int height = 200 + insets.top + insets.bottom;
        setSize(width,height);
    }
    public void actionPerformed(ActionEvent e) {
        String selection = e.getActionCommand();
        if(selection.equals("Exit")) {
            System.exit(0);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值