我编写了以下示例代码来解释我的问题:
Toolbar.java
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JToolBar;
public class Toolbar extends JToolBar {
private static final long serialVersionUID = 1L;
public Toolbar() {
JButton button = new JButton();
button.setSize(new Dimension(50,50));
add(button);
}
}MainProgram.java
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainProgram {
public static void main(String[] args) {
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
Toolbar toolbar = new Toolbar();
mainPanel.add(toolbar, BorderLayout.NORTH);
JFrame frame = new JFrame();
frame.setTitle("Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(mainPanel);
frame.setSize(200, 200);
frame.setResizable(false);
frame.setVisible(true);
}
}setSize()方法无法工作。无论是否有setSize(),结果都是一样的。
我也尝试过使用setPreferredSize()和setMinimumSize(),但是问题仍然存在。我该怎么解决呢?
发布于 2016-02-27 06:13:36
您可以创建扩展JButton和重写getMaximumSize()和getMinimumSize()方法的自己的类:
以下是代码:
public class MyButton extends JButton {
@Override
public Dimension getMaximumSize() {
return new Dimension(32,32);
}
@Override
public Dimension getMinimumSize() {
return new Dimension(32,32);
}
}您可以在这里阅读更多内容:http://www.coderanch.com/t/344902/GUI/java/Setting-default-size-JToolBar-Buttons
发布于 2015-08-31 17:22:13
使用布局管理器时,setPrefferedSize(...)是正确的方法。JPanel有一个默认的layoutManager of FlowLayout,因此它应该可以工作,并且在本地使用setPrefferedSize(...)。
https://stackoverflow.com/questions/32316391
复制相似问题