利用GUI编程完成以下界面的显示和功能。

 

建议题主先画出基本界面,随后有问题再交流,先用基本的Swing组件画出界面

用Swing,JMenuBar,JMenu,JMenuItem等类实现菜单。

主窗口菜单界面

package java3.T9;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;

/*
 * 下拉菜单:
 * 	1.菜单条(JMenuBar):菜单条有多个子菜单
 * 	2.子菜单(JMenu):子菜单可以有多个菜单项
 * 	3.菜单项(JMenuItem)
 * 菜单事件:
 * 	ActionListener
 * 
 * 3种对话框:
 * 	1.(警告对话框)showMessageDialog
 * 	2.(确认对话框)showConfirmDialog
 * 	3.(输入对话框)showInputDialog
 * */
public class MenuDemo extends JFrame implements ActionListener{

	JMenuBar menuBar;
	JMenu mFile,mEdit;
	JMenuItem miNew,miOpen,miSave,miExit;
	JMenuItem miCut,miCopy,miPaste;
	public MenuDemo() {
		super("菜单演示");
		//创建菜单项
		miNew = new JMenuItem("新建");
//		miNew.setMnemonic(KeyEvent.VK_N);
		miNew.setAccelerator(KeyStroke.getKeyStroke('N', 8));
		miOpen = new JMenuItem("打开");
		miSave = new JMenuItem("保存");
		miExit = new JMenuItem("退出");
		
		miNew.addActionListener(this);
		miExit.addActionListener(this);
		//创建子菜单
		mFile = new JMenu("文件");
		//把菜单项添加到子菜单
		mFile.add(miNew);
		mFile.add(miOpen);
		mFile.add(miSave);
		//添加分隔条
		mFile.addSeparator();
		mFile.add(miExit);
		
		miCut = new JMenuItem("剪切");
		miCopy = new JMenuItem("拷贝");
		miPaste = new JMenuItem("粘贴");
		mEdit = new JMenu("选项");
		mEdit.add(miCut);
		mEdit.add(miCopy);
		mEdit.add(miPaste);
		
		
		//创建菜单条
		menuBar = new JMenuBar();
		//把子菜单添加到菜单条
		menuBar.add(mFile);
		menuBar.add(mEdit);
		//菜单条添加到窗口
		setJMenuBar(menuBar);
		
		setSize(500,400);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);		
	}
	public static void main(String[] args) {
		new MenuDemo();
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==miExit) {
			//警告对话框
//			JOptionPane.showMessageDialog(null, "退出程序");
			//确认框
			/*控制按钮选项:
			 * 2个按钮:OK_CANCEL_OPTION
			 * 3个按钮:YES_NO_CANCEL_OPTION
			 * 点击结果:
			 * 	1.OK_OPTION点击了OK按钮
			 * 	2.CANCEL_OPTION:点击取消按钮
			 * 	3.YES_OPTION:点击了YES按钮
			 * 	4.NO_OPTION:点击了NO按钮
			 * */
			if(JOptionPane.showConfirmDialog(null, "关闭确认","标题",JOptionPane.OK_CANCEL_OPTION)== JOptionPane.OK_OPTION) {
				System.exit(0);
			}
		}else if(e.getSource()==miNew) {
			//输入对话框
			//str获取输入框的值
//			String str = JOptionPane.showInputDialog("请输入一个数字", "1");
			
//			JOptionPane.showMessageDialog(null, str);
			new 学生注册();
			
		}
		
	}
}

 

学生注册界面

package java3.T9;

import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

/*
 * Swing所在的包:java.swing
 * 	1.常用组件的使用
 * */
public class 学生注册 extends JFrame implements ActionListener{
	
	//姓名,年龄
	JTextField txtUserName,txtAge; //文本框
	//性别
	JRadioButton rbMale,rbRemale; //多选框
	//兴趣爱好
	JCheckBox cbFootball,cbBasketBall,cbNet; //多选框
	//备注
	JTextArea txtRemark; //文本区域框
	//注册,关闭
	JButton btnSave,btnClose; //按钮
	
	public 学生注册() {
		
		super("学生注册");
		//设置布局为绝对布局
		setLayout(null);
		
		JLabel lblUserName,lblAge,lblSex,lblHover,lblRemark;
		lblUserName = new JLabel("姓名",JLabel.RIGHT);
		txtUserName = new JTextField(20); //默认显示的字符数
		//设置控件在窗口的位置
		lblUserName.setBounds(80, 50, 100, 20);
		txtUserName.setBounds(180, 50, 200, 20);
		//添加控件到窗口指定位置显示
		add(lblUserName);
		add(txtUserName);
		lblAge = new JLabel("年龄",JLabel.RIGHT);
		txtAge = new JTextField(20);
		lblAge.setBounds(80, 100, 100, 20);
		txtAge.setBounds(180, 100, 200, 20);
		add(lblAge);
		add(txtAge);
		
		lblSex = new JLabel("性别",JLabel.RIGHT);
		rbMale = new JRadioButton("男");
		rbRemale = new JRadioButton("女");
		//同一组的单选框必须添加到一个ButtonGroup组件
		ButtonGroup gb = new ButtonGroup();
		gb.add(rbMale);
		gb.add(rbRemale);
		lblSex.setBounds(80, 150, 100, 20);
		rbMale.setBounds(180, 150, 50, 20);
		//默认选中
		rbMale.setSelected(true);
		rbRemale.setBounds(230, 150, 50, 20);
		add(lblSex);
		add(rbMale);
		add(rbRemale);
		
		lblHover = new JLabel("爱好",JLabel.RIGHT);
		cbFootball = new JCheckBox("JAVA");
		cbBasketBall = new JCheckBox("C++");
		cbNet = new JCheckBox("C#");
		lblHover.setBounds(80, 200, 100, 20);
		cbFootball.setBounds(180, 200, 60, 20);
		cbBasketBall.setBounds(240, 200, 60, 20);
		cbNet.setBounds(300, 200, 60, 20);
		add(lblHover);
		add(cbFootball);
		add(cbBasketBall);
		add(cbNet);
		
		lblRemark = new JLabel("个性签名",JLabel.RIGHT);
		txtRemark = new JTextArea(5, 80);
		lblRemark.setBounds(80, 260, 100, 20);
		txtRemark.setBounds(80,290, 330, 100);
		
		add(lblRemark);
		JScrollPane bar = new JScrollPane(txtRemark);
		bar.setBounds(80,290, 330, 100);
		add(bar);
		
		btnSave = new JButton("注册(S)");
		//设置热键(先按住ALT键+S)
		btnSave.setMnemonic('S');
		btnClose = new JButton("关闭(X)");
		//设置热键(先按住ALT键+X)
		btnClose.setMnemonic('X');
		btnSave.setBounds(250,430, 100, 30);
		btnClose.setBounds(360,430, 100, 30);
		//注册按钮事件
		btnClose.addActionListener(this);
		btnSave.addActionListener(this);
		
		add(btnSave);
		add(btnClose);
		setSize(500,500);
		setVisible(true);
		//DISPOSE_ON_CLOSE,关闭当前窗口,但不退出程序
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setLocationRelativeTo(null);
	}
	//Action事件
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource() == btnSave) {
			String str = "学生信息:\n"+txtUserName.getText();
			str += ","+txtAge.getText()+",";
			if(rbMale.isSelected()) {
				str += rbMale.getText()+",";
			}
			if(rbRemale.isSelected()) {
				str += rbRemale.getText()+",";
			}
			str += "擅长:";
			if(cbFootball.isSelected()) {
				str += cbFootball.getText()+",";
			}
			if(cbBasketBall.isSelected()) {
				str += cbBasketBall.getText()+",";
			}
			if(cbNet.isSelected()) {
				str += cbNet.getText()+",";
			}
			str += "\n自我介绍:"+txtRemark.getText();
			JOptionPane.showMessageDialog(null, str);
		}else if(e.getSource() == btnClose) {
			JOptionPane.showMessageDialog(null, "你点击了关闭按钮");
			//退出程序
//			System.exit(0);
			//关闭窗口
//			setVisible(false);
			dispose();
		}
	}
	public static void main(String[] args) {
		new 学生注册();
	}
}

 

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632