Java 边框和按钮本身之间带有填充的JButton
我有一个JButton,背景为绿色,边框为线边框。我想在按钮和边框之间插入一个空格,一种填充。 我试过使用setMargin(新的插图(x,y,t,z)),但它似乎不起作用。 这是我的代码Java 边框和按钮本身之间带有填充的JButton,java,swing,border,jbutton,padding,Java,Swing,Border,Jbutton,Padding,我有一个JButton,背景为绿色,边框为线边框。我想在按钮和边框之间插入一个空格,一种填充。 我试过使用setMargin(新的插图(x,y,t,z)),但它似乎不起作用。 这是我的代码 JButton JBtn=new JButton("sdfd"); JBtn.setBorder(BorderFactory.createLineBorder(Color.CYAN,5)); JBtn.setBackground(Color.GREEN); JBtn.setMargin(new Insets(
JButton JBtn=new JButton("sdfd");
JBtn.setBorder(BorderFactory.createLineBorder(Color.CYAN,5));
JBtn.setBackground(Color.GREEN);
JBtn.setMargin(new Insets(5,5,10,10));
有什么建议吗?对
边框的更改正在改变边距的工作方式(它们似乎不再包括在确定布局的决策中)
相反,您可以使用复合边框
,例如
JBtn.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.CYAN, 5),
BorderFactory.createEmptyBorder(5, 5, 10, 10)));
边框是按钮的一部分,单击边框将单击按钮。可以将背景设置为绿色,然后在背景上绘制边框:
jBtn.setBackground(Color.GREEN);
jBtn.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.CYAN, 5),
BorderFactory.createLineBorder(Color.BLACK, 20)));
我试过使用setMargin(新的插图(x,y,t,z)),但它似乎不起作用
因为如果您阅读setMargin
的文档,您会看到
[…]如果在按钮上设置了非默认边框,则边框对象负责创建适当的边距空间(否则此属性将被有效忽略)
另外,为类保留大写名称,将JBtn
重命名为JBtn
谢谢。我试过你建议的解决办法。不幸的是,结果不是我想要的。我希望标签位于按钮的中心,但只有标签是绿色的,而标签和边框之间的空间仍然是黑色的。这可能吗?您希望按钮和边框之间的空间仍然是按钮的一部分吗?是的,这正是我想要的;-)绿色背景仅显示在按钮的一部分中。