我想添加一个切换按钮,允许PasswordField显示所写的内容,所以我创建了一个Textfield和一个PasswordField,它们共享GridPane中的位置,单击复选框将在两者之间切换。然而,问题是,当我按Tab从Username TextField导航到PasswordField时,它首先集中在不可见的TextField上,然后我必须再次按Tab。因此,总而言之,要从Username TextField导航到PasswordField,我必须按两次Tab。GUI图片
JavaFX中是否有一个函数可以更好地允许我这样做?
下面是我的代码:
控制器:
package sample;
import javafx.fxml.FXML;
import javafx.scene.control.CheckBox;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.event.ActionEvent;
public class FXML_Login{
String[] usernames = {"user", "user2", "user3"};
String[] passwords = {"pass", "pass2", "pass3"};
@FXML private Text loginText;
@FXML private TextField username;
@FXML private TextField passwordShown;
@FXML private PasswordField passwordBullets;
@FXML private CheckBox passToggle;
@FXML protected void handleLoginSubmission(ActionEvent event){
if(username.getText().equals(usernames[0]) && (passwordBullets.getText().equals(passwords[0])
|| passwordShown.getText().equals(passwords[0]))){
loginText.setFill(Color.GREEN);
loginText.setText("Login successful.");
}
else{
loginText.setFill(Color.RED);
loginText.setText("Login failed.");
}
}
@FXML protected void togglePasswordVisible(ActionEvent event){
if(passToggle.isSelected()){
passwordShown.setText(passwordBullets.getText());
passwordShown.setVisible(true);
passwordBullets.setVisible(false);
return;
}
passwordBullets.setText(passwordShown.getText());
passwordBullets.setVisible(true);
passwordShown.setVisible(false);
}
@FXML protected void initialize(){
}
}
FXML:
<?import javafx.scene.control.CheckBox?>
<GridPane fx:controller="sample.FXML_Login"
xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10"
stylesheets = "/sample/styles.css">
<Text id = "welcome"
text="Welcome"
GridPane.columnIndex="0"
GridPane.rowIndex="0"
GridPane.columnSpan="2"/>
<Label text = "User Name: "
GridPane.columnIndex="0"
GridPane.rowIndex="1" />
<TextField fx:id = "username"
promptText = "Username"
GridPane.columnIndex="1"
GridPane.rowIndex="1"
onAction="#handleLoginSubmission"/>
<Label text = "Password: "
GridPane.columnIndex="0"
GridPane.rowIndex="2" />
<TextField fx:id = "passwordShown"
promptText = "Password"
GridPane.columnIndex="1"
GridPane.rowIndex="2"
onAction="#handleLoginSubmission"/>
<PasswordField fx:id = "passwordBullets"
promptText="Password"
GridPane.columnIndex="1"
GridPane.rowIndex="2"
onAction="#handleLoginSubmission"/>
<Label text="Show password"
GridPane.columnIndex="0"
GridPane.rowIndex="3"/>
<CheckBox fx:id="passToggle" onAction="#togglePasswordVisible"
GridPane.columnIndex="1"
GridPane.rowIndex="3"/>
<HBox spacing="10"
alignment="BOTTOM_RIGHT"
GridPane.columnIndex="1"
GridPane.rowIndex="4">
<Button text="Sign In"
onAction="#handleLoginSubmission"/>
</HBox>
<Text fx:id = "loginText"
GridPane.columnIndex="1"
GridPane.rowIndex="6"/>
</GridPane>
有一个名为“焦点可遍历”的选项,可以让您导航到它或不导航到它。
您只需要通过切换复选框来调用“setfocustraversable(boolean b)”方法,并根据您的需要使一个字段可遍历或不可遍历。
这里是文档的链接。
本文向大家介绍用CSS实现tab切换相关面试题,主要包含被问及用CSS实现tab切换时的应答技巧和注意事项,需要的朋友参考一下 1.用label结合单选按钮radio接受切换tab的单击 2.用zindex层级来显示当前tab页对应的内容 3.用css兄弟选择器选中对应的tab页签和内容页,添加相应的样式
主要内容:创建切换按钮,切换按钮组,ToggleButton行为,样式切换按钮切换按钮具有两种状态:选择或未选择。 我们通常将两个或多个切换按钮组合成一个组,并允许用户只选择一个按钮或不选择。 创建切换按钮 我们可以使用类的三个构造函数创建一个切换按钮。要创建没有任何字幕或图标的切换按钮。 要创建带有文字说明的切换按钮 要创建带有文字说明和图标的切换按钮。 方法可以将文本设置为,以及方法可以将图像安装到。 切换按钮组 切换组不强制选择至少一个按钮。单击所选的切换按钮可取消选
因此,目前我正在处理一个项目,其中我需要在一个方法中启动一个快速javafx窗口。由于我不想让类扩展应用程序,我的解决方案是创建一个扩展应用程序的内部类,并通过创建内部类的实例和调用内部类中的launch在方法中启动javafx窗口,如下所示。
我正在使用enum/switch case和Zeller的公式来表示一年中的哪一天,一个特定的日期将是哪一天。在我实现代码的枚举/开关部分的前几天,我的代码正在打印(如下所示)。在我放入enum/switch大小写之后,当我在DrJava中运行它时,它确实会提示日期、月份和年份,但是一旦它通过switch大小写,就不会打印任何内容
问题内容: 我有一个接口,该接口由struct实现。 要获取模型实例,我具有以下辅助函数: 上面的方法允许我返回正确类型的Person实例(以后可以使用相同的方法轻松添加新模型)。 当我尝试执行类似的操作以返回模型切片时,出现错误。码: 去抱怨: 我的目标是回到请求任何机型的切片(是否,,,W / E)。我缺少什么,如何正确实施这样的解决方案? 问题答案: 简短的答案是您是正确的。结构的片段不等于
本文向大家介绍javascript实现列表切换效果,包括了javascript实现列表切换效果的使用技巧和注意事项,需要的朋友参考一下 IE兼容性没处理,确切的说不太会,还望指点一二 思路: 1、js获取要给定点击事件的按钮组对象,如btns=document.xxx(),遍历过程绑定事件之前先取得当前对象的下标eg:btns[i].index=i; 2、匹配index为将要显示的DOM对象 3、