GUI图形界面Word文件下载.docx
- 文档编号:6123480
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:31
- 大小:24.85KB
GUI图形界面Word文件下载.docx
《GUI图形界面Word文件下载.docx》由会员分享,可在线阅读,更多相关《GUI图形界面Word文件下载.docx(31页珍藏版)》请在冰点文库上搜索。
基本的容器:
JFrame
JFrame的作用
JFrame的常用方法
Dimension
Point
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
1、第一个窗体:
1.新建一个窗体
例1:
publicclassJFrameDemo01{
publicstaticvoidmain(String[]args){
JFramef=newJFrame();
//不可见的类
f.setSize(230,80);
//设置组件的大小
f.setBackground(Color.WHITE);
//设置背景色
f.setLocation(300,200);
//设置组件的显示位置
f.setVisible(true);
//让组件可见
}
}
例2:
Deimesion类和Point类的应用
publicclassJFrameDemo02{
JFramef=newJFrame("
第一个窗口"
);
Dimensiond=newDimension();
d.setSize(300,200);
f.setSize(d);
Pointp=newPoint(300,200);
f.setLocation(p);
2.JFrame的构造方法
3.JFrame运行之后:
窗体关闭之后,运行进程并没有结束,想要关闭,需要事件的支持
基本JComponent组件
1.标签组件:
JLabel(存放文字信息)
例1:
例2:
更改Jlabel的文字格式
Jlabel方法:
PublicvoidsetFont(Fontf);
Font:
java.awt包中;
Font(String
name,int
style,int
size)
根据指定名称、样式和磅值大小,创建一个新Font。
例3:
得到所有的字体
importjava.awt.GraphicsEnvironment;
publicclassALLFontDemo{
GraphicsEnvironmenten=GraphicsEnvironment.getLocalGraphicsEnvironment();
StringfontName[]=en.getAvailableFontFamilyNames();
for(inti=0;
i<
fontName.length;
i++){
System.out.println(fontName[i]);
}
例4:
JLabel标记设置一个图片(Icon类及ImageIcon类)
2.JButton组件:
按钮类
JFramewin1=newJFrame();
//窗体
Iconimage=newImageIcon("
D:
\\logo.jpg"
JButtonbun1=newJButton("
李洪志"
image);
//按钮,参数是按钮里显示字符
win1.add(bun1);
win1.setVisible(true);
//可见
win1.setSize(400,300);
//大小
win1.setLocation(50,20);
//初始位置
3.JTextComponent
(1)单行文本JTextField
(2)密码框JPassWordFiled
(3)多行文本JTextArea
publicclassShowFlowLayoutDemoextendsJFrame{
publicShowFlowLayoutDemo(){
setLayout(newFlowLayout(FlowLayout.LEFT,10,10));
JTextFieldtext=newJTextField();
add(newJLabel("
name"
));
add(text);
text.setColumns(10);
password"
add(newJPasswordField());
add(newJTextArea(10,10));
this.setTitle("
title"
this.setSize(200,200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
/**
*@paramargs
*/
ShowFlowLayoutDemoframe=newShowFlowLayoutDemo();
布局管理器
1、FlowLayout:
流式布局管理器,会使用组件向流水一样依次排列。
JFrame的setLayout()方法
publicclassFlowLayoutDemo{
publicstaticvoidmain(String[]args){
流布局"
f.setLayout(newFlowLayout(FlowLayout.CENTER,10,10));
//创建流布局并使每一行组件居中,指定组件间距。
JButtonbun1=newJButton("
太"
JButtonbun2=newJButton("
原"
JButtonbun3=newJButton("
欢"
JButtonbun4=newJButton("
迎"
JButtonbun5=newJButton("
你"
f.add(bun1);
f.add(bun2);
f.add(bun3);
f.add(bun4);
f.add(bun5);
f.setSize(200,80);
2、BordreLayout:
会将窗体的版面分成东、西、南、北、中五个区域。
JFrame:
add(..)两个参数重载的方法
publicclassBorderLayoutDemo{
publicstaticvoidmain(Stringargs[]){
Border布局"
f.setLayout(newBorderLayout());
f.add(newJButton("
South"
),BorderLayout.SOUTH);
North"
),BorderLayout.NORTH);
East"
),BorderLayout.EAST);
West"
),BorderLayout.WEST);
Center"
),BorderLayout.CENTER);
f.setSize(400,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
3、GridLayout:
以表格的形式进行管理
packageyanshi;
importjava.awt.*;
importjavax.swing.*;
publicclassGridLayoutDemoextendsJFrame{
GridLayoutDemog=newGridLayoutDemo();
publicGridLayoutDemo(){
intflag=1;
JPanelj=newJPanel();
j.setLayout(newGridLayout(3,3));
this.add(j,BorderLayout.CENTER);
JButton[]botton=newJButton[9];
for(inti=0;
i<
9;
i++){
if(i%2==0){
botton[i]=newJButton();
botton[i].setBackground(Color.RED);
}else{
botton[i].setBackground(Color.GREEN);
}
j.add(botton[i]);
this.setSize(300,300);
//this.setResizable(false);
this.setLayout(newBorderLayout());
while(true){
try{
Thread.sleep(200);
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
if(flag==1){
flag=0;
for(intj1=0;
j1<
j1++)
{
if(j1%2==0){
botton[j1].setBackground(Color.GREEN);
}else{
botton[j1].setBackground(Color.RED);
}
}
flag=1;
4、CardLayout:
就是将一组组件彼此重叠的进行布局,就像一张张卡片一样,每次只显示一个界面
publicCardLayoutDemo(){
super("
showCardLayout"
CardLayoutcl=newCardLayout();
setLayout(cl);
Containercon=this.getContentPane();
JButtonjb=newJButton("
"
jb.setBackground(Color.BLACK);
JButtonjb1=newJButton("
jb1.setBackground(Color.BLUE);
JButtonjb2=newJButton("
jb2.setBackground(Color.CYAN);
JButtonjb3=newJButton("
jb3.setBackground(Color.GRAY);
JButtonjb4=newJButton("
jb4.setBackground(Color.GREEN);
JButtonjb5=newJButton("
jb5.setBackground(Color.ORANGE);
JButtonjb6=newJButton("
jb6.setBackground(Color.YELLOW);
this.add(jb,"
1"
this.add(jb1,"
2"
this.add(jb2,"
3"
this.add(jb3,"
4"
this.add(jb4,"
5"
this.add(jb5,"
6"
this.add(jb6,"
7"
this.setSize(300,300);
//cl.show(con,"
for(inti=1;
=100;
cl.next(con);
5、绝对定位
首先取消窗体布局(null),通过每一个组件的setBounds()方法去设置坐标
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
JFrameframe=newJFrame();
JButtonbutton1=newJButton("
button1"
JButtonbutton2=newJButton("
button2"
frame.setSize(500,500);
frame.setLocation(200,100);
frame.add(button1);
frame.add(button2);
frame.setLayout(null);
button1.setBounds(200,100,100,50);
button2.setBounds(350,100,100,50);
frame.setVisible(true);
其他容器
1、JPanel:
可以将一组组件放入此容器中管理,完成一些复杂的界面设计。
publicclassJPanelDemo{
JPanelMakerframe=newJPanelMaker();
//frame.setSize(500,500);
frame.pack();
classJPanelMakerextendsJFrame{
publicJPanelMaker(){
JPanelp1=newJPanel(newGridLayout(3,3));
for(inti=1;
=9;
p1.add(newJButton("
+i));
JPanelp2=newJPanel(newGridLayout(3,3));
p2.add(newJButton("
+(i+10)));
JPanelp3=newJPanel(newGridLayout(3,3));
p3.add(newJButton("
+(i+20)));
this.setLayout(newBorderLayout());
this.add(p1,BorderLayout.NORTH);
this.add(p2,BorderLayout.CENTER);
this.add(p3,BorderLayout.WEST);
JScrollBarjs1=newJScrollBar();
JScrollBarjs2=newJScrollBar();
js2.setOrientation(JList.VERTICAL);
this.add(js1,BorderLayout.EAST);
this.add(js2,BorderLayout.SOUTH);
2、JSplitPane:
分割面板,可将一个窗体分为两个子窗体,可以水平分也可以垂直分。
3、JTabbedPane。
publicclassJTabbedPaneDemo11{
JFrameframe=newJFrame("
Welcome"
);
//实例化窗体对象
Containercont=frame.getContentPane();
JTabbedPanetab=null;
tab=newJTabbedPane(JTabbedPane.TOP);
//设置标签在顶部显示
JPanelpan1=newJPanel();
JPanelpan2=newJPanel();
JButtonbut=newJButton("
按钮"
JLabellab=newJLabel("
标签"
pan1.add(but);
pan2.add(lab);
tab.addTab("
选项一"
pan1);
选项二"
pan2);
//tab.addTab("
图片选项"
newImageIcon("
image\\logo1.jpg"
),pan1,"
图象"
cont.add(tab);
frame.setSize(600,700);
//根据组件自动调整大小
frame.setLocation(300,200);
frame.setVisible(true);
4、JScollPane:
JFrameframe=newJFrame("
//Containercont=frame.getContentPane();
//实例化Icon对象
JPanelpan=newJPanel();
JLabellab=newJLabel("
你好"
JScrollPanescr1=null;
//设置垂直和水平的滚动条一直显示
scr1=newJScrollPane(pan,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
pan.add(lab);
//cont.add(scr1);
frame.add(scr1);
frame.setSize(230,120);
//根据组件自动调
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GUI 图形界面