Java学习笔记之GUI设计实验

在这里插入图片描述

package dsm;
import java.awt.*;
import javax.swing.*;
public class GUITest {
	public static void main(String args[]) {
		JFrame f=new JFrame("GridLayout");
		f.setSize(300, 200);
		GridLayout layout=new GridLayout(3,3,10,10);
		//f.setLayout(new GridLayout(3,3));
		JPanel panel=new JPanel(layout);
		//panel.setSize(200, 250);
		panel.add(new JButton("0"));
		panel.add(new JButton("1"));
		panel.add(new JButton("2"));
		panel.add(new JButton("3"));
		panel.add(new JButton("4"));
		panel.add(new JButton("5"));
		panel.add(new JButton("6"));
		panel.add(new JButton("7"));
		panel.add(new JButton("8"));
		f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
		f.setContentPane(panel);
		f.setVisible(true);
	}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package dsm;
import java.awt.*;
import javax.swing.*;
public class GUITest {
	public static void main(String args[]) {
		/*创建窗口*/
		JFrame f=new JFrame("按钮类组件");
		f.setSize(300, 200);
		f.setBounds(400,200,300,300);
		f.setLayout(null);
		f.setLayout(new GridLayout(5,1));
		//f.setLocation(550, 200);
		
		/*创建会员输入JTextField*/
		JPanel jp=new JPanel();
		JLabel jl_1=new JLabel("会员姓名:");
		JTextField txt1=new JTextField(10);    //创建文本框
		jp.add(jl_1);
		jp.add(txt1);
		f.add(jp,BorderLayout.NORTH);
		JPanel jp2= new JPanel();
		JLabel jl_2=new JLabel("会员密码:");
		JTextField txt2=new JTextField(10);
		jp2.add(jl_2);
		jp2.add(txt2);
		f.add(jp2,BorderLayout.NORTH);
		
		/*创建会员性别选项JRadioButton*/
		JPanel jp3= new JPanel();
		JLabel jl_3=new JLabel("性别:");
		JRadioButton rb1=new JRadioButton("男");    //创建JRadioButton对象
		JRadioButton rb2=new JRadioButton("女");    //创建JRadioButton对象
		jp3.add(jl_3);
		jp3.add(rb1);
		jp3.add(rb2);
		f.add(jp3,BorderLayout.CENTER);
		
		/*创建会员爱好选项JCheckBox*/
		JPanel jp4= new JPanel();
		jp4.setLayout(new GridLayout(2,3));
		JLabel jl_4=new JLabel("爱好:");
		JCheckBox cb1=new JCheckBox("美术");    //创建指定文本和状态的复选框
        JCheckBox cb2=new JCheckBox("篮球");    //创建指定文本的复选框
        JCheckBox cb3=new JCheckBox("排球");    //创建指定文本的复选框
        JCheckBox cb4=new JCheckBox("溜冰");    //创建指定文本的复选框
        JCheckBox cb5=new JCheckBox("写作");    //创建指定文本的复选框
        jp4.add(jl_4);
        jp4.add(cb1);
        jp4.add(cb2);
        jp4.add(cb3);
        jp4.add(cb4);
        jp4.add(cb5);
        f.add(jp4,BorderLayout.CENTER);
        
		/*创建下层JButton按钮*/
		JPanel jp5= new JPanel();
		JButton b1 =new JButton("取消");
		JButton b2 =new JButton("确认");
		jp5.add(b1);
		jp5.add(b2);
		f.add(jp5,BorderLayout.SOUTH);
		f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
		f.setVisible(true);
	}
}

在这里插入图片描述
补充完善因为初学的原因,在编程/创建会员爱好选项JCheckBox/时没能实现,panel上的控件的紧凑,经过后面深入的学习,我找到了一个解决办法。如下:
/创建会员爱好选项JCheckBox/

        JPanel jp4= new JPanel();
		jp4.setLayout(new GridLayout(2,1));
		JPanel jp_1=new JPanel();
		JPanel jp_2=new JPanel();
		jp_1.setLayout(new FlowLayout());
		jp_2.setLayout(new FlowLayout());
		JLabel jl_4=new JLabel("爱好:");
		JCheckBox cb1=new JCheckBox("美术");    //创建指定文本和状态的复选框
        JCheckBox cb2=new JCheckBox("篮球");    //创建指定文本的复选框
        JCheckBox cb3=new JCheckBox("排球");    //创建指定文本的复选框
        JCheckBox cb4=new JCheckBox("溜冰");    //创建指定文本的复选框
        JCheckBox cb5=new JCheckBox("写作");    //创建指定文本的复选框
        jp_1.add(jl_4);
        jp_1.add(cb1);
        jp_1.add(cb2);
        jp_2.add(cb3);
        jp_2.add(cb4);
        jp_2.add(cb5);
        jp4.add(jp_1);
        jp4.add(jp_2);
        f.add(jp4,BorderLayout.CENTER);

在这里插入图片描述

在这里插入图片描述

package dsm;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class GUITest {
	public GUITest() {
		/*创建窗口*/
		JFrame f=new JFrame("文本框回车事件");
		f.setSize(300, 200);
		f.setBounds(400,200,400,100);
		JPanel jp=new JPanel();
		JTextField txt1=new JTextField(10);
		JTextField txt2=new JTextField(10);
		JLabel jl=new JLabel("平方为");
		jp.add(txt1);
		jp.add(jl);
		jp.add(txt2);
		f.add(jp);
		txt1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				txt2.setText(String.valueOf(Math.pow(Double.parseDouble(txt1.getText()), 2)));
			}
		});
		f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
		f.setVisible(true);
	}
	public static void main(String args[]) {
		new GUITest();
	}
}

在这里插入图片描述

JTextField可以使用ActionListener,CaretListener,或者通过getDocument()返回的Document使用 DocumentListener。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅破苍穹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值