티스토리 뷰

Image Button

  • JavaFX Button을 사용하는 경우 Button에 이미지를 넣어야 할 때가 있습니다. 
  • JavaFX를 사용하여 Button에 이미지를 입히는 방법에 대해서 알아보겠습니다.

방법

  • Button에 Image를 입히는 방법은 크게 두가지가 있습니다.
    • Controller 코드에서 이미지를 지정해주는 방법
    • FXML 상에서 이미지를 지정해주는 방법
  • 사실상 대부분의 경우 버튼에 지정되는 Image는 수정될 일이 없기 때문에 FXML에서 지정해주는 방법이 더 적합합니다.

ImageButton.fxml

  • Button의 <graphic> 속성에 ImageView를 추가하여 이미지를 추가해 줄수 있습니다.
    • 저는 따로 아이콘 파일을 받아서 사용을 했습니다. 
<fx:root style="-fx-background-color: white;" type="BorderPane" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" prefWidth="400" prefHeight="400">
  <center>
    <HBox alignment="CENTER">
      <Button>
        <graphic>
          <ImageView fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true">
            <image>
              <Image url="@gmail.png" />
            </image>
          </ImageView>
        </graphic>
      </Button>
    </HBox>
  </center>
</fx:root>

ImageButtonController.java

public class ImageButtonController extends BorderPane {

  public ImageButtonController() {
    FxUiUtil.initializeFont();
    FxUiUtil.loadFxml(this);
  }
}

ImageButtonControllerTest.java

public class ImageButtonControllerTest extends Application {

  @Override
  public void start(Stage primaryStage) throws Exception {
    ImageButtonController imageController = new ImageButtonController();
    primaryStage.setScene(new Scene(imageController));
    primaryStage.setTitle("Image Button Test");
    primaryStage.show();
  } 

  @Test
  public void test() {
    launch();
  }
}

결과 화면

 


관련글

 

(JavaFX) FXML 상에서 Spinner 데이터 세팅 방법

들어가며 JavaFX Spinner를 사용하게 되면 FXML 상에서 바로 Spinner의 값을 세팅해주면 편할 때가 있습니다. 변하지 않는 정적인 데이터를 사용하는 경우 적합 이때 간단하게 FXML에서 스피너의 데이터�

jinseongsoft.tistory.com

 

(JavaFX) JavaFX ScrollBar 개념 및 사용법

들어가며 JavaFX ScrollBar 에 대해서 알아보도록 하겠습니다. ScrollBar 는 말 그대로 스크롤 기능을 지원하는 컨트롤입니다. 사실 스크롤바를 직접 사용할 일은 그렇게 많지는 않을 것 같긴하지만 .. �

jinseongsoft.tistory.com

 

(JavaFX) JavaFX Spinner 개념 및 사용법

들어가며 JavaFX Spinner에 대해서 알아보겠습니다. Spinner 는 ComboBox 와 비슷하지만 드롭다운이 없이 현재 데이터 값을 나타내며 증가, 감소 버튼으로 값을 변경할 수 있는 컨트롤 입니다. 순차적인 �

jinseongsoft.tistory.com

 

(JavaFX) JavaFX ListView FXML상에서 데이터 초기화 방법

들어가며 JavaFX ListView를 사용하면서 정적(한번 초기화되고 바뀔일이 없는 경우)인 ListView인 경우 FXML 상에서 바로 데이터를 초기화 해주는 방법이 있다. 구현방법 태그 안에 태그를 추가해준 뒤��

jinseongsoft.tistory.com

 

(JavaFX) FXML 상에서 Label Font 설정방법

들어가며 JavaFX Label은 Font설정을 통해서 Label Text의 글씨체, 글씨체 크기 등등을 설정해줄 수 있다. Global Font를 지정해주거나 CSS에서 Font를 지정해줄 수 있음 간혹 FXML 상에서 특정 Control에만 Font..

jinseongsoft.tistory.com

 

(JavaFX) TableView 데이터 CSV 형태로 Export 하는 방법

TableView CSV Export JavaFX TableView를 사용하면서 Table Data를 CSV 형태로 Export 하는 기능이 필요할 때가 있습니다. TableView 전시 자체가 Grid 형태이기 때문에 형태 그대로 CSV로 Export 하는 경우가..

jinseongsoft.tistory.com

 

반응형
댓글