java jbutton方法_java-如何设置JButton的大小?

我正在尝试设置JButton的大小,但是默认情况下会占用整个框架,它的高度很容易设置,但是我不能设置它的宽度&为什么它的行为我不知道.

我的代码:

JButton btnNewButton = new JButton("");

btnNewButton.setPreferredSize(new Dimension(32,0));

ImageIcon icon = new ImageIcon(this.getClass().getResource("/images/images_Left.png"));

btnNewButton.setIcon(icon);

boxTlacitek.add(btnNewButton);

getContentPane().add(btnNewButton, BorderLayout.NORTH);

有什么建议吗?

解决方法:

更改布局.尝试将按钮添加到另一个JPanel,然后将面板添加到框架.当组件放置在NORTH或SOUTH位置时,BorderLayout将在面板的可用宽度上拉伸按钮

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

public class TestBorderLayout {

public static void main(String[] args) {

new TestBorderLayout();

}

public TestBorderLayout() {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {

}

JButton fat = new JButton("Fat");

JButton skinny = new JButton("Skinny");

JPanel buttonPane = new JPanel();

buttonPane.add(skinny);

JFrame frame = new JFrame("Testing");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setLayout(new BorderLayout());

frame.add(fat, BorderLayout.NORTH);

frame.add(buttonPane, BorderLayout.SOUTH);

frame.pack();

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

});

}

}

标签:swing,preferredsize,jbutton,layout-manager,java

来源: https://codeday.me/bug/20191030/1968718.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值