Java 在JButton上切换文本
这个对你来说可能很容易。但我被卡住了,想不出一个算法来实现这一点。我想显示一个JTextField,并将JButton上的文本更改为“隐藏”,如果是“搜索”。如果 JButton上的文本为“Search”,JTextBox应出现,反之亦然,如果文本为“Hide”,则使JTextField不可见,并将JButton上的文本更改为“Search” 我就是这样做的:Java 在JButton上切换文本,java,swing,if-statement,jbutton,Java,Swing,If Statement,Jbutton,这个对你来说可能很容易。但我被卡住了,想不出一个算法来实现这一点。我想显示一个JTextField,并将JButton上的文本更改为“隐藏”,如果是“搜索”。如果 JButton上的文本为“Search”,JTextBox应出现,反之亦然,如果文本为“Hide”,则使JTextField不可见,并将JButton上的文本更改为“Search” 我就是这样做的: private void switchBtnText(){ searchTxtField.setVisible(true); btn
private void switchBtnText(){
searchTxtField.setVisible(true);
btnSearch.setText("Hide");
if(btnSearch.getText().equals("Hide")){
btnSearch.setText("Search");
searchTxtField.setVisible(false);
}
}
如果我注释If部分,它将显示JTextField。我的问题是返回到默认设置,即一个JButton,其中“Search”为文本,JTextField不可见。
然后在ActionEvent中调用该方法。我以前在C#中做过,所以我知道我很接近。
先谢谢你。最快、最好的答案将被投票通过并被接受。虽然我还没有测试过,但这应该是可行的
//btn action
private void toggleVisible(){
String btnVal = btnSearch.getText();
if(btnVal.equals("Search")){
searchTxtField.setVisible(true); // or however you are showing search field
btnSearch.setText("Hide");
}else{
searchTxtField.setVisible(false);
btnSearch.setText("Search");
}
}
虽然我还没有测试过,但它应该可以工作
//btn action
private void toggleVisible(){
String btnVal = btnSearch.getText();
if(btnVal.equals("Search")){
searchTxtField.setVisible(true); // or however you are showing search field
btnSearch.setText("Hide");
}else{
searchTxtField.setVisible(false);
btnSearch.setText("Search");
}
}
看看你的执行顺序
- 设置要“隐藏”的文本
- 如果文本等于“隐藏”,则将文本更改为“显示”
- 如果文本等于“隐藏”,则将文本更改为“显示”
- 否则,将文本更改为“隐藏”
- 设置要“隐藏”的文本
- 如果文本等于“隐藏”,则将文本更改为“显示”
- 如果文本等于“隐藏”,则将文本更改为“显示”
- 否则,将文本更改为“隐藏”