2017-02-19 1 views
0

단추에 대한 사용자 지정 아이콘이있는 GUI 프로그램을 만들었습니다. 그러나 자바에서이 단추의 크기를 설정할 수는 없으므로 원본 크기 인 230x227로 유지됩니다. 나는 그들이 주변에 20 × 20 그래서 나는 다음과 같은 코드를 사용하려고 노력 해요 :맞춤 검색 버튼의 크기를 설정하는 방법은 무엇입니까?

classAlcBtn.setPreferredSize(new Dimension(20,20)); 
classAlcBtn.setIcon(new ImageIcon(getClass().getResource("Alchemist.png"))); 
classAlcBtn.setBorder(null); 
classAlcBtn.setBorderPainted(false); 
classAlcBtn.setContentAreaFilled(false); 
classAlcBtn.setPressedIcon(
    new ImageIcon(getClass().getResource("alchemistClicked.png"))); 
classAlcBtn.setCursor(new Cursor(Cursor.HAND_CURSOR)); 

아래로 크기에이 아이콘을 강제 할 수있는 방법이 있나요를, 아니면 실제 아이콘 파일 다운 크기로해야합니까? 어떤 도움을 주셔서 감사합니다.

+1

아이콘없이 정확하게 크기를 조정할 수 있습니까? – rossum

+1

* "230x227. 다음 코드를 사용하기 위해 약 20x20이되도록 노력하고 있습니다."* 이러한 이미지는 다른 종횡비입니다. 새로운 종횡비에 맞게 스트레칭, 자르기 또는 덧씌우 기를 할 생각입니까? * "이 아이콘의 크기를 강제로 줄일 수있는 방법이 있습니까?"* 예, ** 그러나 .. ** * ".. 또는 실제 아이콘 파일 크기를 줄여야합니까?" 바람직한 옵션. 이미지 크기를 조정할 수있는 좋은 이미지 편집 프로그램이 있습니다. Java로 그것을 복제하는 것은 가능하지만 사소하지는 않습니다. 또한 더 큰 (바이트 크기로) 이미지 파일을 배포하고 앱에서 더 많은 CPU 시간을 사용하는 것을 의미합니다. 시작. –

+0

@AndrewThompson 예 이미지 파일 자체의 크기를 조정하기로 결정했습니다. 정보 주셔서 감사합니다. –

답변

1

아이콘없이 버튼의 크기를 줄일 수 있다고 가정합니다. 그래서 이미지 아래로, 원본 파일의 크기를 변경하지 않고 크기로 다음과 같은 방법을 사용하십시오

ImageIcon icon = new ImageIcon("whatever.jpg"); 
Image img = icon.getImage() ; 
Image newImg = img.getScaledInstance(NEW_WIDTH, NEW_HEIGHT, java.awt.Image.SCALE_SMOOTH) ; 
icon = new ImageIcon(newImg); 

... 

classAlcBtn.setIcon(icon); 

자체의 크기를 조절 버튼이 작동하지 않는 경우에, 당신은 다음과 같은 setMaximumSize() 대신 방법 setPreferredSize()의를 사용하여 시도 할 수 있습니다 :

classAlcBtn.setMaximumSize(new Dimension(100,100)); 

자세한 내용은 this을 참조하십시오. 크기에 대해서. 희망이 도움이 :

+0

시작을 줄이기 위해 이미지 파일의 크기를 조정하기로 결정했습니다. 그래도 고마워! –

관련 문제