2013-12-16 3 views
0

단추에 MouseEnter 이벤트에 대한 도구 설명을 표시하려하지만 표시되지 않습니다. 나는 내 코드에 무슨 문제가 있는지 이해하지 못한다.도구 설명이 마우스에 나타나지 않습니다.

여기는 버튼을 사용하고 MouseEnter 이벤트를 추가하는 fxml 파일입니다.

<ToolBar fx:id="logViewerToolBar" layoutX="66.0" layoutY="9.0" opacity="1.0" prefWidth="148.0"> 
           <items> 
           <Button id="loadlogearlierbtn" fx:id="loadLogEarlierBtn" mnemonicParsing="false" mouseTransparent="true" onMouseEntered="#loadLogEarlierMouseEntered" onMouseExited="#loadLogEarlierMouseExited" prefWidth="35.0" styleClass="imgbtn" text=""> 
            <stylesheets> 
            <URL value="@main.css" /> 
            </stylesheets> 
           </Button> 
           <Button id="loadlogtadaybtn" fx:id="loadLogTodayBtn" mnemonicParsing="false" onMouseEntered="#loadLogTodayMouseEntered" onMouseExited="#loadLogTodayMouseExited" prefWidth="35.0" styleClass="imgbtn" text=""> 
            <stylesheets> 
            <URL value="@main.css" /> 
            </stylesheets> 
           </Button> 
           <Button id="searchlogbtn" fx:id="btnFind" mnemonicParsing="false" onMouseEntered="#findLogMouseEntered" onMouseExited="#findLogMouseExited" prefWidth="35.0" styleClass="imgbtn" text=""> 
            <stylesheets> 
            <URL value="@main.css" /> 
            </stylesheets> 
           </Button> 
           </items> 
          </ToolBar> 

여기 내 컨트롤러 클래스입니다.

@FXML 
public void findLogMouseEntered(MouseEvent event) 
{  
    btnFind.setTooltip(new Tooltip("Search field value in to entire log")); 
} 

하지만 여전히 툴팁이 표시되지 않습니다. 그리고 확실히, 이것은 정말로 쉬운 질문이지만 javaFx에 대한 초보자입니다.

는 또한

@FXML 
private Button loadLogEarlierBtn,loadLogTodayBtn,btnFind;  

심지어 작동하지 않는 방법을 다음과 같이 버튼을 연결합니다.

<Button id="searchlogbtn" fx:id="btnFind" mnemonicParsing="false" prefWidth="35.0" styleClass="imgbtn" text=""> 
            <tooltip> 
             <Tooltip text="Search field value in to entire log"/> 
            </tooltip> 
            <stylesheets> 
            <URL value="@main.css" /> 
            </stylesheets> 

           </Button> 

제게 알려주십시오.

답변

0

정말로 확실하지 않지만 나는 title="here goes the title"을 추가하는 것이 트릭을해야한다고 생각합니다.

희망이 하나가 초기화 (...) 메소드에 setTooltip (...)를 넣어

1

하는 데 도움이, 또는 FXML에서 툴팁을 초기화합니다.

편집 : 여기에 완벽한 예입니다 :

import java.io.IOException; 

import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Parent; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 

public class ButtonWithTooltipExample extends Application { 

    @Override 
    public void start(Stage primaryStage) throws IOException { 
     Scene scene = new Scene(FXMLLoader.<Parent>load(getClass().getResource("ButtonWithTooltip.fxml")), 200, 100); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 

ButtonWithTooltip.fxml

<?xml version="1.0" encoding="UTF-8"?> 

<?import javafx.scene.layout.BorderPane?> 
<?import javafx.scene.control.Button?> 
<?import javafx.scene.control.Tooltip?> 

<BorderPane xmlns:fx="http://javafx.com/fxml"> 
    <center> 
     <Button text="Click Me"> 
      <tooltip> 
       <Tooltip text="This is a button. Click on it."/> 
      </tooltip> 
     </Button> 
    </center> 
</BorderPane> 

당신은 onMouseEntered 또는 onMouseExited 필요하지 않습니다 - 툴팁이 처리한다.

+0

작동하지 않습니다 ... :-( –

+0

내 업데이트 된 질문보기 –

+0

전체 예제를 업데이트하여 정상적으로 작동합니다. –