3
如何获取JButton
的默认边框?获取JButton的默认边框
一个例子是:
Border border = new JButton().getBorder();
但我能做到这一点,而无需创建一个新的按钮?
如何获取JButton
的默认边框?获取JButton的默认边框
一个例子是:
Border border = new JButton().getBorder();
但我能做到这一点,而无需创建一个新的按钮?
您可以从UIManager
检索默认边框:
UIManager.getBorder("Button.border");
例如:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class TestButton {
private static void createAndShowGUI() {
JFrame frame = new JFrame("TestButton");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Click");
button.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
((JButton)e.getSource()).setBorder(UIManager.getBorder("Button.border"));
}
});
frame.add(button);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
很好,UIManager工作,正是我想要的:-) – Zulatin
我想没有人真正理解你的问题。 –
我正在制作一款游戏,其中有JButton代表我的作品。当我点击一个我想要它改变边界到LineBorder,如果我再次点击它,我想要默认边框。 我使用我的getBorder()修复了它,但宁愿只输入默认的边框 – Zulatin
这听起来像您需要使用JToggleButton而不是JButton。 –