JToggleButton을 선택하면 다시 그리지 않기를 원합니다. 나는 한 쌍의 단어 ("check/next")에 의한 상태 변화를 가리킨다. 표준 동작은 파란색 조명이지만 사용하지 않도록 설정하려고합니다.선택시 JToggleButton의 표준 다시 그리기를 사용하지 않음
1
A
답변
3
아마도 ImageIcon에 단어를 표시 할 수 있습니다. 예 :
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JToggleButton;
public class ToggleFun {
private static final Color BACKGROUND_COLOR = new Color(200, 200, 255);
public static void main(String[] args) {
int biWidth = 60;
int biHeight = 30;
BufferedImage checkImg = new BufferedImage(biWidth, biHeight, BufferedImage.TYPE_INT_RGB);
BufferedImage nextImg = new BufferedImage(biWidth, biHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = checkImg.createGraphics();
g2.setColor(BACKGROUND_COLOR);
g2.fillRect(0, 0, biWidth, biHeight);
g2.setColor(Color.black);
g2.drawString("Check", 10, 20);
g2.dispose();
g2 = nextImg.createGraphics();
g2.setColor(BACKGROUND_COLOR);
g2.fillRect(0, 0, biWidth, biHeight);
g2.setColor(Color.black);
g2.drawString("Next", 15, 20);
g2.dispose();
ImageIcon checkIcon = new ImageIcon(checkImg);
ImageIcon nextIcon = new ImageIcon(nextImg);
JToggleButton toggleBtn = new JToggleButton(checkIcon);
toggleBtn.setSelectedIcon(nextIcon);
toggleBtn.setContentAreaFilled(false);
toggleBtn.setBorder(BorderFactory.createLineBorder(Color.black));
JPanel panel = new JPanel();
panel.add(toggleBtn);
JOptionPane.showMessageDialog(null, panel);
}
}
+0
좋은 속임수. 내 애플 리케이션의 다른 부분에서 그것을 사용합니다. 그러나 실제로 내가 원한 것이 아닙니다. 토글 버튼을 선택하면 약간 푸른 빛이 켜지고 Windows OS 버튼 스타일을 비활성화하지 않고 비활성화하려고합니다. –
3
참조 : AbstractButton.setContentAreaFilled(false)
.
하지만 사용자는 일반적으로 '놀람의 경로'를 따르는 GUI 요소를 선호합니다. 이 유형의 렌더링은 해당 경로 옆의 덤불을 통해 약간의 크래쉬 - 쾅 (crash-bang)에서 벗어나는 것으로 더 잘 묘사 될 수 있습니다.
+0
Windows 스타일의 그래픽을 전혀 사용할 수 없게되고 내 단추가 레이블처럼 보이게됩니다. –
관련 문제
- 1. 윈도우 다시 그리기를 방지합니다.
- 2. Activity.onConfigurationChanged에서보기의 다시 그리기를 강제하는 방법
- 3. 자바 변수가 변할 때만 다시 그리기를 원합니다
- 4. 최소화 할 때 창 다시 그리기를 방지합니다.
- 5. 소프트 키보드의 다시 그리기를 강제로 수행하는 방법
- 6. matplotlib에서 축 다시 그리기를 얻는 방법
- 7. 클릭했을 때 UItablecell을 다시 그리기를 원합니다
- 8. Series.Points.Add 메서드는 차트의 다시 그리기를 어떻게 트리거합니까?
- 9. 텍스트 필드 선택시 통합 양식이 움직이지 않음
- 10. WPF Combobox selectedvalue 업데이트 선택시 업데이트되지 않음
- 11. ScollViewer 스크롤을 프로그래밍 방식으로 사용하지 않음
- 12. 누르거나 선택한 상태에서 JToggleButton의 ImageIcon 조작하기
- 13. CSS 규칙을 사용하지 않음
- 14. glBlendFunc 쉐이더를 사용하지 않음
- 15. 여러 사용자 지정 UITableViewCells - ReuseIdentifier 및 셀을 다시 사용하지 않음
- 16. 창을 사용하지 않음
- 17. joomla의보기에서 레이아웃을 사용하지 않음
- 18. Windows에서 '찾기'명령을 사용하지 않음
- 19. 스페이스 바를 사용하지 않음
- 20. 단추를 사용하지 않음
- 21. 레일이 값을 사용하지 않음! =
- 22. 문서의 목차를 사용하지 않음
- 23. JSF에서 commandButton을 사용하지 않음
- 24. JavaScriptSerializer가 CultureInfo.CurrentCulture를 사용하지 않음
- 25. 배경에서 창을 사용하지 않음
- 26. GPS 기능을 사용하지 않음
- 27. MySQL - 색인을 사용하지 않음
- 28. 검색 버튼을 사용하지 않음
- 29. xscroll ipad를 사용하지 않음
- 30. tabcontent가 tabwidget을 사용하지 않음
아마도 ImageIcon에 단어를 표시 할 수 있습니다. –
토글 버튼의 '확인'및 '다음'유효한 대체 방법은 무엇입니까? 나는 (다음 사진/거의) '다음/이전', '다음/현재', '체크/건너 뛰기'를 할 수 있었다. –