java学习:awt
1.awt是什么?
java.awt是java语言中的一个软件包,包含用于创建用户界面和绘制图形图像的所有分类.
2.awt中的内容 container容器:
Frame sc=new Frame(“choko”);//创建窗口对象
sc.setLocation(100,100);//窗口位置x,y坐标
sc.setSize(500,300);//窗口宽高
sc.setVisible(true);//窗口能不能看见
import java.awt.*;
public class rtgh {
public static void main(String[] args) {
Frame sc=new Frame("choko");
sc.setLocation(100,100);
sc.setSize(500,300);
sc.setVisible(true);
}
}
效果图:
3.Panel容器:
Panel需要先创建window对象:窗口
再创建Panel对象
p.add(new TextField(“helloworld”));//添加文本框
p.add(new Button(“WSSS”));//添加按钮
窗口添加Panel: sc.add§;
sc.setBounds(100,100,500,300);//窗口位置和大小x,y,width,height
import java.awt.*;
public class tyio {
public static void main(String[] args) {
Frame sc=new Frame("chokolo");
Panel p=new Panel();
p.add(new TextField("helloworld"));
p.add(new Button("WSSS"));
sc.add(p);
sc.setBounds(100,100,500,300);//
//sc.setLocation(100,100);
// sc.setSize(500,300);
// sc.setVisible(true);
sc.setVisible(true);
}
}
效果图:
4.scrollpane容器滚动条:
import java.awt.*;
public class rtgh {
public static void main(String[] args) {
Frame sc=new Frame("chokolo");
ScrollPane f1=new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
f1.add(new TextField("文字"));
f1.add(new Button("这是"));
sc.add(f1);
sc.setBounds(100,100,300,300);
sc.setVisible(true);
}
}
结果:
遇到问题是:编码问题:出现乱码
解决问题:
配置编码:-Dfile.encoding=gbk
VM:
5.layoutManager(布局管理器)FlowLayout
FlowLayout布局管理器: 控制了位置
c1.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));//
通过setlayout设置容器的布局管理器
FlowLayout(FlowLayout.LEFT,20,20)//
每个组件之间:水平间距20px,垂直间距:20px;向左靠齐.
流水式:遇到边界转行
FlowLayout(FlowLayout.CENTER,20,20)//向中间靠齐.
import java.awt.*;
public class weryt {
public static void main(String[] args) {
Frame c1=new Frame();
c1.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));
for(int i=0;i<=100;i++)
{
c1.add(new Button("按钮"));
}
c1.pack();
c1.setVisible(true);
}}
效果图:
6.borderLayout:布局管理器
把容器:分为五个区域:上下左右中
c1.setLayout(new BorderLayout(30,20));//创建对象:设置容器
(30,20):水平间距30px,垂直间距:20px;
c1.add(new Button(“北部按钮”),BorderLayout.NORTH);//
BorderLayout.NORTH:这个组件位置:是容器北部 north
代码:
import java.awt.*;
public class derkf {
public static void main(String[] args) {
Frame c1=new Frame();
c1.setBounds(100,100,300,300);
c1.setLayout(new BorderLayout(30,20));//设置布局管理器
c1.add(new Button("北部按钮"),BorderLayout.NORTH);
c1.add(new Button("南部按钮"),BorderLayout.SOUTH);
c1.add(new Button("东部按钮"),BorderLayout.EAST);
c1.add(new Button("西部按钮"),BorderLayout.WEST);
c1.add(new Button("中部按钮"),BorderLayout.CENTER);
c1.setVisible(true);
}
}
效果图:
7.网格:布局管理器:GridLayout
把组件:一个个按顺序放在网格中:
GridLayout();
p2.setLayout();
GridLayout(3,5,4,3);//3行五列水平间距4px,垂直间距3px
p2.setLayout(new GridLayout(3,5,4,3));//设置布局管理器
管理器是:这个new GridLayout(3,5,4,3)
import java.awt.*;
public class frgtk {
public static void main(String[] args) {
Frame sc=new Frame();
Panel p=new Panel();
sc.setBounds(100,100,300,300);
p.add(new TextField(30));//30个列,字数
sc.add(p,BorderLayout.NORTH);//添加位置
Panel p2=new Panel();
p2.setLayout(new GridLayout(3,5,4,3));//创建对象p2,设置管理器
for(int i=0;i<10;i++)
{
p2.add(new Button(i+""));
}
p2.add(new Button("+"));
p2.add(new Button("-"));
p2.add(new Button("*"));
p2.add(new Button("/"));
p2.add(new Button("."));
sc.add(p2);
sc.setVisible(true);
}
}
效果图:
谢谢大家的支持!