本笔记主要内容:1、创建窗体示例
2、内容面板示例
3、Java.awt.Container、 JPanel常用方法、JScrollPane的构造方法
4、布局管理器
创建窗体示例
import javax.swing.*;//导入必要的包
/*自定义窗体类,继承于JFrame类*/
public class MyFrame extends JFrame{
//构造方法
public MyFrame() {
//super("这是我的第一个窗体"); //利用父类的构造方法设置标题
this.setTitle("这是我的第一个窗体");//设置窗体的标题
this.setSize(300,200); //设置窗体的大小
this.setVisible(true); //设置窗体为可见,即显示窗体
}
//main方法
public static void main(String[] args) {
MyFrame mf = new MyFrame();
}
}
做出来的窗口效果如下,小小的也很可爱。
JFrame常用方法
在写的时候不太清楚this和super用法,参考了以下链接知识点
(17条消息) 【java】this()与super()使用详解_circujoker_06的博客-CSDN博客_superhttps://blog.csdn.net/lzm18064126848/article/details/47068589?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165037409616782089312334%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165037409616782089312334&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-47068589.142%5Ev9%5Epc_search_result_cache,157%5Ev4%5Econtrol&utm_term=super&spm=1018.2226.3001.4187(17条消息) Java中super()的使用_程序员资料站的博客-CSDN博客_super()https://blog.csdn.net/yongbutingxide/article/details/82669054?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165037409616782089312334%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165037409616782089312334&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-82669054.142%5Ev9%5Epc_search_result_cache,157%5Ev4%5Econtrol&utm_term=super&spm=1018.2226.3001.4187大概用法如下
事实上,一个完整的窗体是由外部框架和内容面板两部分组成的
以下介绍内容面板示例
import java.awt.*;//container和color类在此包中
import javax.swing.*;
public class ContentPaneDemo extends JFrame{
//构造方法
public ContentPaneDemo() {
super("这是我的第一个窗体");
//获得当前窗体的内容面板
Container contentPane = this.getContentPane();
//设置内容面板的背景色为红色
contentPane.setBackground(Color.blue);
//设置窗体关闭时即退出程序
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,200);
setResizable(false);//设置窗体不可调整大小
setVisible(true);
}
//main
public static void main(String[] args) {
ContentPaneDemo cpd = new ContentPaneDemo();
}
}
做出来的窗口效果
Java.awt.Container
JPanel常用方法
JScrollPane的构造方法
常用方法
布局管理器
1、布局管理器类在java.awt中
2、常用布局有FlowLayout(流式布局)、BorderLayout(边框布局)、GridLayout(网格布局)、CardLayout(卡片布局)
图例如下:
流式布局示例
import java.awt.*;//布局管理器在此包中
import javax.swing.*;
public class FlowLayoutDemo extends JFrame{
//声明4个文本框
private JTextField txt1,txt2,txt3,txt4;
//方法
FlowLayoutDemo(){
super("流式布局实例");//使用父类的构造方法设置窗体标题
//实例化文本框
txt1 = new JTextField("txt1");
txt2 = new JTextField("txt2");
txt3 = new JTextField("txt3");
txt4 = new JTextField("txt4");
//获取当前窗体的面板内容
Container me = getContentPane();
//设置流式布局
me.setLayout(new FlowLayout());
//将文本框加到内容面板中
me.add(txt1);
me.add(txt2);
me.add(txt3);
me.add(txt4);
setSize(400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
//FlowLayoutDemo fld = new FlowLayoutDemo();
//实例化窗体,匿名对象
new FlowLayoutDemo();
}
}
效果图如下
可以随意调节大小
边界布局示例(和流式布局代码很像)
import java.awt.*;
import javax.swing.*;
public class BorderLayoutDemo extends JFrame {
//声明5个按钮
private JButton Button1,Button2,Button3,Button4,Button5;
public BorderLayoutDemo(){
super("边界布局示例");
//实例化按钮
Button1 = new JButton("北边按钮");
Button2 = new JButton("南边按钮");
Button3 = new JButton("西边按钮");
Button4 = new JButton("东边按钮");
Button5 = new JButton("中间按钮");
//获取窗体的面板内容
Container me = getContentPane();
//设置边界布局
me.setLayout(new BorderLayout());
//将按钮添加到内容面板的各个方位
me.add(Button1,BorderLayout.NORTH);
me.add(Button2,BorderLayout.SOUTH);
me.add(Button3,BorderLayout.WEST);
me.add(Button4,BorderLayout.EAST);
me.add(Button5,BorderLayout.CENTER);
setSize(399,444);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new BorderLayoutDemo();
}
}
效果如下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)