エンドユーザがメインTableViewのいくつかのカラムに検索を制限するためには、チェックボックス付きのツリービューが必要でした。 このツリービューをポップアップに埋め込み、カスタムボタンをクリックして表示することにしました。ドロップダウンメニューのJavaFX CheckBoxTreeボタン
私は質問からインスピレーションを得た次のクラスを作成している:私が働いている木がCheckBoxTreeItem
オブジェクトが含まれており、ポップアップが働いている間、すべてのチェックボックスにいくつかの奇妙なぼかしがある
public class CustomTreeMenuButton extends MenuButton {
private PopupControl popup = new PopupControl();
private TreeView<? extends Object> tree;
private CustomTreeMenuButton me = this;
public void setTree(TreeView<? extends Object> tree) {
this.tree = tree;
}
public CustomTreeMenuButton() {
super();
this.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if (!popup.isShowing()) {
Bounds b = me.localToScreen(me.getBoundsInLocal());
double x = b.getMinX();
double y = b.getMaxY();
popup.setAutoHide(true);
// popup.setAutoFix(true);
popup.setAnchorX(x);
popup.setAnchorY(y);
popup.setSkin(new Skin<Skinnable>() {
@Override
public void dispose() {
}
@Override
public Node getNode() {
return tree;
}
@Override
public Skinnable getSkinnable() {
return null;
}
});
popup.show(me.getScene().getWindow());
}
}
});
}
}
Java FX8 TreeView in a table cell
フォーカスがチェックボックスにないときはいつでも。次に、(下記GIF参照)まず、私はそれは多分、アンチエイリアシングの問題だと思ったが、popup.getScene().getAntiAliasing().toString()
戻りDISABLED
、私は非整数のアンカーポイントは、問題を引き起こす可能性があることがわかりました。しかしpopup.setAutoFix(true)
は何もしなかった、また次のようでした:
popup.setAnchorX(new Double(x).intValue());
popup.setAnchorY(new Double(y).intValue());
それは私がFXMLで働いていることは注目に値するかもしれません。
フォーカスに関係なくシャープなチェックボックスを使用するにはどうすればよいですか?
ブリリアント。 私はちょうど奇妙なホバーの輝きを取り除くために、ボタンのコンテキストメニューをスタイルする必要があると思います。 – T4GG
ホバーグローについての答えが更新されました。 – DVarga
ありがとうございました! – T4GG