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
JButton 대신 JToggleButton을 사용해야하는 것처럼 들립니다. –