[英]How to set size of 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);
}
});
}
}
getContentPane().setLayout(null);
//setBounds(x,y,width,height)
btnNewButton.setBounds(10,10,250,100);
getContentPane().add(btnNewButton);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.