java基础-UI JFrame JPanel

本文深入探讨了Java Swing中的JFrame和JPanel组件。首先,介绍了JFrame作为顶级容器的基本用法,包括如何添加组件、设置布局和调整窗口大小。接着,详细阐述了JPanel的作用,它是用于组合其他组件的容器,支持自定义布局管理器。通过实例展示了如何在JFrame中使用JPanel来实现复杂的用户界面设计。

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

package com.great.demo;

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

public class JFrameDemo extends JFrame{

	/*
	 * 1.编写一个类继承于JFrame
	 * 2.初始化界面参数
	 * 3.通过顶级容器,用来承装中间容器和组件 --- 推荐顶级容器用来装中间容器
	 * 4.创建一个类继承于JPanel (面板---中间容器)
	 * 注意:顶级容器的配置需要放在最后
	 * 5.在顶级容器最前添加中间容器
	 * 
	 * 注意:JFrame, JDialog, JPanel使用之前推荐建一个类继承于这些类
	 * 
	 * 注意:菜单需要放在顶级容器
	 */
	public JFrameDemo(){
		JPanelDemo demo = new JPanelDemo();
		
		this.add(demo); //将中间容器,放置在顶级容器中
		
		//菜单栏需要先设置再添加
		JMenuBar jmb = new JMenuBar(); //菜单栏
		JMenu jm1 = new JMenu("File"); //菜单
		JMenuItem jm1_1 = new JMenuItem("Close");
		jm1.add(jm1_1);
		
		jm1.addSeparator(); //设置下划线
		
		
		JMenu jm1_2 = new JMenu("New");
		JMenuItem jm1_2_1 = new JMenuItem("aaa");
		jm1_2.add(jm1_2_1);
		jm1.add(jm1_2);
		
		jmb.add(jm1);
		
		this.setJMenuBar(jmb);
		
		
		this.setSize(400, 400); //设置初始化界面的大小
		this.setTitle("刘彬请客吃饭"); //设置标题
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置默认的关闭参数 JFrame.EXIT_ON_CLOSE关闭是退出
		this.setLocationRelativeTo(null); //设置相对的居中位置
		//this.setResizable(false); //是否可以最大化或拖动
		this.setVisible(true); //设置界面是否可视(是否可以看到)
	}
	
	public static void main(String[] args) {
		new JFrameDemo();
	}
	
}
package com.great.demo;
/*
 * Object
 * Component:组件
 * Container:容器
 * Window:窗口
 * Frame:框架
 * Dialog:对话框
 * 
 * 
 * 
 * 
 * 
 */


public class Test {

}

 

 

 

package com.great.demo;

import java.awt.Color;

import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class JPanelDemo extends JPanel{
	
	public JPanelDemo(){
		//this.setBackground(Color.RED);
		JButton btn = new JButton(); //组件一般不需要建一个类来书写,直接进行初始化
		btn.setText("click");
		this.add(btn);
		
		JTextField jtf = new JTextField(); //文本输入框
		jtf.setColumns(20);//设置文本输入框的列数
		jtf.setText("刘彬请全校吃饭");
		System.out.println(jtf.getText());
		this.add(jtf);
		
		JTextArea jta = new JTextArea(); //文本域
		jta.setRows(10);//设置文本域的行数
		jta.setColumns(20);//设置文本域的列数
		jta.setText("hehe"); //设置文本内容
		JScrollPane pane = new JScrollPane(jta); //初始化滚动面板
		pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); //设置水平的滚动条
		pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); //设置垂直的滚动条
		this.add(pane); //注意:这里只需要添加滚动面板对象
		
		//JPasswordField //密码输入框
		
		JCheckBox cb1 = new JCheckBox(); //复选框
		cb1.setText("篮球");
		this.add(cb1);
		
		//单选框
		ButtonGroup bg = new ButtonGroup(); //初始化一个按钮组,将两个单选按钮放在这个组内,才能实现单选的效果
		JRadioButton jrb1 = new JRadioButton("男");
		jrb1.setSelected(true); //设置选中状态
		JRadioButton jrb2 = new JRadioButton("女");
		bg.add(jrb1);bg.add(jrb2);
		
		this.add(jrb1);//注意:这里添加的还是单选按钮
		this.add(jrb2);
		
		String[] arr = {"福州","漳州","厦门","泉州"};
		JList list = new JList(arr); //列表
		this.add(list);
		
		JComboBox box = new JComboBox(arr); //下拉列表
		this.add(box);
		System.out.println(box.getSelectedItem()); //得到下拉列表的选择项
		
		
		JLabel jl = new JLabel(); //标签
		/*jl.setText("JLabel");*/
		jl.setIcon(new ImageIcon("img/invite.png"));
		this.add(jl);
	}

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值