首页 > 其他 > 详细

第十一周课程总结

时间:2019-11-08 22:00:22      阅读:78      评论:0      收藏:0      [点我收藏+]

学习总结
布局管理器
一.FlowFayout(流式布局管理器)


(1)组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列。
(2)默认的对齐方式是居中对齐,默认的水平和垂直间隙是5个像素。

package Txjm;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Demo1 {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Welcome To MLDN");
        frame.setLayout(new FlowLayout(FlowLayout.CENTER,3,3));
        JButton but = null;
        for(int i=0;i<12;i++) {
            but= new JButton("科目-"+i);
            frame.add(but);
        }
        frame.setSize(380, 223);
        frame.setVisible(true);
    }
}

技术分享图片


二、BorderLayout(边界布局管理器)
(1)容器划分为东、西、南、北、中五个区域,每个区域只能放置一个组件。

package Txjm;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Demo2 {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Welcome To MLDN");
        frame.setLayout(new BorderLayout(3,3));
        frame.add(new JButton("电影"),BorderLayout.EAST);
        frame.add(new JButton("电视剧"),BorderLayout.WEST);
        frame.add(new JButton("音乐"),BorderLayout.SOUTH);
        frame.add(new JButton("综艺"),BorderLayout.NORTH);
        frame.add(new JButton("娱乐"),BorderLayout.CENTER);
        frame.setSize(380, 223);
        frame.setVisible(true);
    }
}

技术分享图片

public File InputStream(File file) throws FileNotFoundException


三、GridLayout(表格布局管理器)
(1)容器的空间划分成M×N列的网格区域, 每个区域只能放置一个组件。
(2)表格布局行优先

package Txjm;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Demo3 {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Welcome To MLDN");
        frame.setLayout(new GridLayout(3,5,3,3));
        JButton but = null;
        for(int i=0;i<12;i++) {
            but= new JButton("教室-"+i);
            frame.add(but);
        }
        frame.pack();
        frame.setVisible(true);
    }
}

技术分享图片

四、CardLayout(卡片布局管理器)
(1)如同一叠牌,每个牌对应一个组件,但每次只能显示其中的一张牌。适用于在一个空间中防止多个组件的情况

  package Txjm;
import java.awt.CardLayout;
import java.awt.Container;
import javax.swing.JLabel;
import javax.swing.JFrame;
public class Demo4 {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Welcome To MLDN");
        Container cont=frame.getContentPane();
        CardLayout card=new CardLayout();
        frame.setLayout(card);
        cont.add(new JLabel("愿你也有幸",JLabel.CENTER),"first");
        cont.add(new JLabel("拥有独特的才华",JLabel.CENTER),"second");
        cont.add(new JLabel("供养你一世的梦想",JLabel.CENTER),"third");
        cont.add(new JLabel("将来的岁月",JLabel.CENTER),"fourth");
        cont.add(new JLabel("愿所有人的前方都一路坦荡。",JLabel.CENTER),"fifth");
        frame.setSize(380, 223);
        frame.setVisible(true);
        card.show(cont, "first");
        for(int i=0;i<5;i++) {
            try {
                Thread.sleep(1000);
            }catch(Exception e){
            }
            card.next(cont);
            }
    }
}

技术分享图片

五、绝对定位
(1)通过设置绝对坐标的方式完成布局

package Txjm;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JButton;
public class Demo5 {
    public static void main(String[] args) {
        JFrame frame = new JFrame("登录界面");
        frame.setLayout(null);
        JLabel title = new JLabel("教务系统");
        JLabel userLable = new JLabel("用户名:");
        JLabel pswLable = new JLabel("密码:");
    userLable.setBounds(40, 100, 120, 25);
    pswLable.setBounds(40, 150, 120, 25);
    title.setBounds(100, 50, 150, 20);
    frame.add(userLable);
    frame.add(pswLable);
    frame.add(title);
    frame.setSize(400, 300);
    frame.setVisible(true);
    }
}

技术分享图片

六、错误示例
技术分享图片

代码还是存在问题,特别是绝对定位的掌握。坐标的四位数分别什么意思有点忘了,所以调了好久。还有cardLayout关于图片的导入依然存在问题。
还待解决吧。

第十一周课程总结

原文:https://www.cnblogs.com/1211li/p/11823082.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!