溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2022-02-09 09:04:13 來(lái)源:億速云 閱讀:168 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)”吧!

按鈕組件 JButton

JButton組件表示一個(gè)普通的按鈕

JButton類常用方法

方法作用
public JButton() throws HeadlessException創(chuàng)建一個(gè)Button對(duì)象
public JButton(String label) throws HeadlessException創(chuàng)建一個(gè)Button對(duì)象,同時(shí)指定其顯示內(nèi)容
public JButton(Icon icon)創(chuàng)建一個(gè)帶圖片的按鈕
public JButton(String text,Icon icon)創(chuàng)建一個(gè)帶圖片和文字的按鈕
public void setLabel(String label)設(shè)置Button的顯示內(nèi)容
public String getLabel()得到Button的顯示內(nèi)容
public void setBounds(int x,int y,int width,int height)設(shè)置組件的大小及顯示方式
public void setMnemonic(int mnemonic)設(shè)置按鈕的快捷鍵

演示

import javax.swing.*;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        JButton but = new JButton("點(diǎn)擊");
        Font font = new Font("Serief",Font.BOLD,25);
        but.setFont(font);
        frame.add(but);
        frame.setSize(200,70);
        frame.setLocation(500,300);
        frame.setVisible(true);
    }
}

Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

按鈕上顯示圖片

import javax.swing.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        String Path="C:\\Users\\30452\\Desktop\\123.jpg";
        Icon icon = new ImageIcon(Path,"MLDN");
        JButton but = new JButton(icon);
        frame.add(but);
        frame.setSize(500,600);
        frame.setLocation(300,200);
        frame.setVisible(true);
    }
}

Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

布局管理器

在Swing中主要使用以下5種常見(jiàn)的布局管理器:FlowLayout、BorderLayout、GridLayout、CardLayout、絕對(duì)定位。

FlowLayout

流式布局管理器,使用此種布局方式會(huì)使所有的組件像流水一樣依次進(jìn)行排列

常量作用
public static final int CENTER居中對(duì)齊
public static final int LEADING與容器的開(kāi)始端對(duì)齊方式一樣
public static final int LEFT左對(duì)齊
public static final int RIGHT右對(duì)齊
public static final int TRAILING與容器的結(jié)束端對(duì)齊方式一樣
方法作用
public FlowLayout()構(gòu)造一個(gè)新的FlowLayout,居中對(duì)齊
public FlowLayout(int align)構(gòu)造一個(gè)FlowLayout,并指定對(duì)齊方式
public FlowLayout(int align,int hgap,int vgap)指定對(duì)齊方式、水平、垂直間距

演示:

import javax.swing.*;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        frame.setLayout(new FlowLayout(FlowLayout.CENTER,4,4));
        JButton but = null;
        for(int i=0;i<16;i++){
            but = new JButton("按鈕");
            frame.add(but);
        }
        frame.setSize(300,300);
        frame.setVisible(true);
    }
}

Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

BorderLayout

BorderLayout將一個(gè)窗體的版面劃分成東、西、南、北、中5個(gè)區(qū)域

常量作用
public static final String EAST將組件設(shè)置在東區(qū)
public static final String WEST將組件設(shè)置在西區(qū)
public static final String SOUTH將組件設(shè)置在南區(qū)
public static final String NORTH將組件設(shè)置在北區(qū)
public static final String CENTER將組件設(shè)置在中區(qū)
方法作用
public BorderLayout()構(gòu)造沒(méi)有間距的布局器
public BorderLayout(int hgap,int vgap)構(gòu)造有水平和垂直間距的布局器

演示:

import javax.swing.*;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        frame.setLayout(new BorderLayout(3,3));
        frame.add(new JButton("上"),BorderLayout.NORTH);
        frame.add(new JButton("下"),BorderLayout.SOUTH);
        frame.add(new JButton("左"),BorderLayout.WEST);
        frame.add(new JButton("右"),BorderLayout.EAST);
        frame.add(new JButton("中"),BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
    }
}

Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

GridLayout

GridLayout布局管理器是以表格的形式進(jìn)行管理

方法作用
public GridLayout(int rows,int cols)構(gòu)造一個(gè)指定行和列的布局管理器
public GridLayout(int rows,int cols,int hgap,int vgap)構(gòu)造時(shí)指定行和列、水平和垂直間距

演示:

import javax.swing.*;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        frame.setLayout(new GridLayout(3,5,3,3));
        JButton but = null;
        for(int i=0;i<15;i++){
            but = new JButton("按鈕");
            frame.add(but);
        }
        frame.pack();
        frame.setVisible(true);
    }
}

Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

CardLayout

CardLayout就是將一組組件彼此重疊地進(jìn)行布局,就像一張張卡片一樣,這樣每次只會(huì)展現(xiàn)一個(gè)界面

方法作用
public CardLayout()構(gòu)造CardLayout對(duì)象,各組件間距為0
public CardLayout(int hgap,int vgap)構(gòu)造CardLayout對(duì)象,指定組件間距
public void next(Container parent)翻轉(zhuǎn)到下一張卡片
public void previous(Container parent)翻轉(zhuǎn)到上一張卡片
public void first(Container parent)翻轉(zhuǎn)到第一張卡片
public void last(Container parent)翻轉(zhuǎn)到最后一張卡片
public void show(Container parent,String name)顯示具有指定組件名稱的卡片
import javax.swing.*;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
//        取得窗體容器
        Container cont = frame.getContentPane();
        CardLayout card = new CardLayout();
        frame.setLayout(card);
        cont.add(new JLabel("A",JLabel.CENTER),"first");
        cont.add(new JLabel("B",JLabel.CENTER),"second");
        cont.add(new JLabel("C",JLabel.CENTER),"third");
        cont.add(new JLabel("D",JLabel.CENTER),"fourth");
        cont.add(new JLabel("E",JLabel.CENTER),"fifth");
        frame.pack();
        frame.setVisible(true);
        card.show(cont,"third");
        for(int i=0;i<5;i++){
            try {
                Thread.sleep(3000);
            }catch (InterruptedException e){
            }
            card.next(cont);
        }
    }
}


Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

絕對(duì)定位

Component中提供了setBounds()方法,可以定位一個(gè)組件的坐標(biāo),使用X、Y的坐標(biāo)表示方式

public void setBounds(int x,int y,int width,int height)

演示:

import javax.swing.*;
import javax.swing.plaf.ButtonUI;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        frame.setLayout(null);
        JLabel title = new JLabel("確定要退出嗎?");
        JButton a = new JButton("確定");
        JButton b = new JButton("取消");
        frame.setSize(200,90);
        title.setBounds(45,5,150,20);
        a.setBounds(10,30,80,20);
        b.setBounds(100,30,80,20);
        frame.add(title);
        frame.add(a);
        frame.add(b);
        frame.setVisible(true);
    }
}

Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)

到此,相信大家對(duì)“Java程序圖形用戶界面的按鈕與布局怎么實(shí)現(xiàn)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI