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。 –