第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Swing GUI中提供空白區(qū)域

在Swing GUI中提供空白區(qū)域

大話西游666 2019-05-20 16:58:24
沒有空白區(qū)域的GUI顯得“擁擠”。如何在不借助明確設(shè)置組件的位置或大小的情況下提供空白區(qū)域?
查看完整描述

4 回答

?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗 獲得超4個贊

MigLayout有多種創(chuàng)造空間的方式。(在此布局中,空間稱為間隙。)可以使用布局約束在最高級別創(chuàng)建間隙,可以在行和列之間創(chuàng)建間隙,也可以在具有組件約束的各個組件之間設(shè)置間隙。在名為insets的容器的邊界周圍也存在特定的間隙,這些容器具有自己的特定關(guān)鍵字。


以下示例創(chuàng)建所有這些類型的差距:


package com.zetcode;


import java.awt.EventQueue;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import net.miginfocom.swing.MigLayout;



public class MigLayoutGaps2 extends JFrame {


    public MigLayoutGaps2() {


        initUI();


        setTitle("Gaps");

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setLocationRelativeTo(null);

    }


    private void initUI() {


        JPanel base = new JPanel(new MigLayout("flowy, ins 30, gap 15"));

        setContentPane(base);


        JPanel pnl1 = new JPanel();

        pnl1.setBorder(

                BorderFactory.createTitledBorder("Grid gaps")

        );


        pnl1.setLayout(new MigLayout("gap 5 5, ins 10, wrap 3"));


        pnl1.add(new JButton("1"));

        pnl1.add(new JButton("2"));

        pnl1.add(new JButton("3"));

        pnl1.add(new JButton("4"));

        pnl1.add(new JButton("5"));

        pnl1.add(new JButton("6"));


        JPanel pnl2 = new JPanel();

        pnl2.setBorder(

                BorderFactory.createTitledBorder("Column gaps")

        );


        pnl2.setLayout(new MigLayout("wrap 3", "[]10[]"));


        JLabel lbl1 = new JLabel();

        lbl1.setBorder(

            BorderFactory.createEtchedBorder()

        );


        JLabel lbl2 = new JLabel();

        lbl2.setBorder(

            BorderFactory.createEtchedBorder()

        );


        JLabel lbl3 = new JLabel();

        lbl3.setBorder(

            BorderFactory.createEtchedBorder()

        );        


        pnl2.add(lbl1, "w 40, h 110");

        pnl2.add(lbl2, "w 40, h 110");

        pnl2.add(lbl3, "w 40, h 110");


        JPanel pnl3 = new JPanel();

        pnl3.setBorder(

                BorderFactory.createTitledBorder("Row gaps")

        );


        pnl3.setLayout(new MigLayout("wrap", "", "[]15[]"));


        JLabel lbl4 = new JLabel();

        lbl4.setBorder(

            BorderFactory.createEtchedBorder()

        );


        JLabel lbl5 = new JLabel();

        lbl5.setBorder(

            BorderFactory.createEtchedBorder()

        );


        JLabel lbl6 = new JLabel();

        lbl6.setBorder(

            BorderFactory.createEtchedBorder()

        );        


        pnl3.add(lbl4, "w 150, h 20");

        pnl3.add(lbl5, "w 150, h 20");

        pnl3.add(lbl6, "w 150, h 20");        


        JPanel pnl4 = new JPanel();

        pnl4.setBorder(

                BorderFactory.createTitledBorder("Component gaps")

        );


        pnl4.setLayout(new MigLayout());


        pnl4.add(new JLabel("Name:"), "gapright 5");

        pnl4.add(new JTextField(10), "gapbottom 20, gaptop 20");


        base.add(pnl1);

        base.add(pnl2);

        base.add(pnl3);

        base.add(pnl4);


        pack();

    }


    public static void main(String[] args) {


        EventQueue.invokeLater(new Runnable() {

            @Override

            public void run() {

                MigLayoutGaps2 ex = new MigLayoutGaps2();

                ex.setVisible(true);

            }

        });

    }

}

我們在布局中有四個面板。每個小組都有一名MigLayout經(jīng)理。


JPanel base = new JPanel(new MigLayout("flowy, ins 30, gap 15"));

此行創(chuàng)建容器插圖和面板之間的垂直間隙。


pnl1.setLayout(new MigLayout("gap 5 5, ins 10, wrap 3"));

在這里,我們?yōu)檎麄€網(wǎng)格結(jié)構(gòu)應(yīng)用間隙,并設(shè)置容器間隙。


pnl2.setLayout(new MigLayout("wrap 3", "[]10[]"));

此行會在列之間創(chuàng)建間隙。


pnl3.setLayout(new MigLayout("wrap", "", "[]15[]"));

使用此代碼定義行間隙。


pnl4.add(new JLabel("Name:"), "gapright 5");

pnl4.add(new JTextField(10), "gapbottom 20, gaptop 20");

最后,可以在各個組件之間創(chuàng)建間隙。


查看完整回答
反對 回復(fù) 2019-05-20
  • 4 回答
  • 0 關(guān)注
  • 968 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號