如何开发一个记事本的页面框,我先把知识点发出来
import java.awt.*;
import javax.swing.*;
一、容器
常用3种容器:Panel面板 Frame窗体 Applet小程序查看器
窗体属性设置
1、窗体 JFrame
2、设置标题setTitle
3、设置大小setSize
4、设置窗体出现位置setLocation
5、设置窗体可见setVisible
6、关闭进程释放空间setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
7、定义按钮组件JButton an=new JButton("按钮")
8、向窗体中添加按钮add(an)
9、设置窗体大小是否可修改setResizable()true可修改 false不可修改
/*总结 1. 继承JFrame类
2. 在最上方定义组件
3. 在构造方法中创建组件
4. 在构造方法中添加组件
5. 设置窗体属性
6. 显示窗体
7. 在主函数中创建对象
8. 所有布局管理器都可以添加任意组件,我这里只是拿按钮举例子,并不是只能添加按钮*/
二、布局管理器
1、边界布局(BorderLayout),默认布局
this.add(an1,BorderLayout.EAST); //括号中的参数都是固定的,顺序不能改变
this.add(an2,BorderLayout.WEST); //前面是对象,后面是布局管理器
this.add(an3,BorderLayout.SOUTH);
this.add(an4,BorderLayout.NORTH);
this.add(an5,BorderLayout.CENTER);
2、流式布局(FlowLayout)
非默认,在使用前先设置布局方式
setLayout(new FlowLayout());居中对齐
setLayout(new FlowLayout(FlowLayout.LEFT)); 左对齐
setLayout(new FlowLayout(FlowLayout.RIGHT)); 右对齐
3、网格布局(GridLayout)
非默认,在使用前先设置布局方式
setLayout(new GridLayout(a,b,c,d));
a:行数
b:列数
c:网格水平间距
d:网格垂直间距
三、常用组件
1、按钮 JButton
2、面板 JPanel
3、标签 JLabel
4、文本框 JTextField
5、密码框 JPasswordField
6、单选按钮 JRadioButton
7、复选框 JCheckBox
8、按钮组 ButtonGroup 把单选按钮添加进按钮组,使其只能选择一个。
设置窗口图片 setIconImage(new ImageIcon("图片所在路径")).getImage())
设置字体 setFont(new Font(a,b,c))
a:String 字体
b:int 风格(Font.PLAIN,Font.BLOD,Font.ITALIC)
c:int 字号(磅数)
设置字体颜色 setForeground(Color.颜色)
设置网页 new JLabel("<html><a href='www.qq.com'>申请密码保护</a>")
设置手指样式 setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
设置背景颜色 setBackground()
9、下拉框 JComboBox
10、列表 JList 设置可以看见3行setVisibleRowCount(3);
11、滚动条 JScrollPane
12、文本域 JTextArea
13、选项卡 JTabbedPane
14、菜单条 JMenuBar
15、菜单 JMenu
16、菜单项 JMenuItem
17、工具条 JToolBar
添加组件的原则:添加组件时先将panel上的组件添加完毕,再添加jframe上的组件
import java.awt.*;
import javax.swing.*;
public class Text extends JFrame{
JMenuBar cdt;
JMenu c1,c2,c3,c4,c5;
JMenu z1;
JMenuItem x1,x2,x3,x4,x5,x6,x7,x8;
JMenuItem b1,b2,b3,b4,b5;
JMenuItem g1,g2;
JMenuItem s1;
JMenuItem k1,k2,k3;
JMenuItem l1,l2,l3;
JTextArea wby;
JScrollPane gd;
Text(){
cdt=new JMenuBar();
c1=new JMenu("文件");
c2=new JMenu("编辑");
c3=new JMenu("格式");
c4=new JMenu("查看");
c5=new JMenu("帮助");
z1=new JMenu("缩放");
x1=new JMenuItem("新建");
x2=new JMenuItem("新窗口");
x3=new JMenuItem("打开");
x4=new JMenuItem("保存");
x5=new JMenuItem("另存为");
x6=new JMenuItem("打印");
x7=new JMenuItem("页面设置");
x8=new JMenuItem("退出");
wby=new JTextArea();
gd=new JScrollPane(wby);
b1=new JMenuItem("复制");
b2=new JMenuItem("粘贴");
b3=new JMenuItem("撤销");
b4=new JMenuItem("删除");
b5=new JMenuItem("剪切");
g1=new JMenuItem("自动换行");
g2=new JMenuItem("字体");
s1=new JMenuItem("状态栏");
k1=new JMenuItem("缩小");
k2=new JMenuItem("放大");
k3=new JMenuItem("恢复默认缩放");
l1=new JMenuItem("查看帮助");
l2=new JMenuItem("发送反馈");
l3=new JMenuItem("关于记事本");
this.add(cdt,BorderLayout.NORTH);
cdt.add(c1);
cdt.add(c2);
cdt.add(c3);
cdt.add(c4);
cdt.add(c5);
z1.add(k1); z1.add(k2); z1.add(k3);
c1.add(x1); c1.add(x2); c1.add(x3); c1.add(x4);
c1.add(x5); c1.add(x6); c1.add(x7); c1.add(x8);
c2.add(b1); c2.add(b2); c2.add(b3); c2.add(b4); c2.add(b5);
c3.add(g1); c3.add(g2);
c4.add(z1); c4.add(s1);
this.add(gd);
this.setTitle("标题");
this.setVisible(true);
this.setSize(500,500);
this.setLocation(300,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
}
public static void main(String[] args) {
Text dx=new Text();
}
}