【发布时间】:2014-11-02 07:55:17
【问题描述】:
所以我一直在尝试使用简单的布尔值禁用/启用 jTabbedPane(在 Netbeans 上)中的 jPanel,而布尔值总是卡在 false 上。通过单击按钮触发 jTabbedPane 中 jPanel 的禁用/启用。这是我的代码的摘录:
package programming.club;
/**
*
* @author RandomGuy
*/
public class GranadaProgrammingClubUI extends javax.swing.JFrame {
public static boolean allowNavigation = true;
/**
* Creates new form ProgrammingClubUI
*/
public ProgrammingClubUI() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (allowNavigation == false) {
jTabbedPane1.setEnabledAt(0, true);
allowNavigation = true;
}
if (allowNavigation == true) {
jTabbedPane1.setEnabledAt(0, false);
allowNavigation = false;
}
System.out.println(allowNavigation);
}
我把 System.out.println(allowNavigation);只是为了检查 allowNavigation 的值是什么,每次单击按钮时,该值都保持为 false,但它应该正在切换,并更改 jPanel 的状态,启用或禁用! (我想)我真的不知道这里出了什么问题。感谢您的宝贵时间。
【问题讨论】:
-
static不是您的朋友,请注意。考虑提供一个runnable example 来证明您的问题。这将导致更少的混乱和更好的响应 -
allowNavigation == true 也不需要使用 (allowNavigation) 代替
-
谢谢,MadProgrammer,我应该注意到
static,这只是在其他程序中做了这么多之后的一种习惯。另外,我知道那条捷径,madhawa priyashantha。我刚刚更改了它以确保它不会引起某种问题。再次感谢,伙计们! -
如果上述建议未能帮助您解决问题,请考虑创建并发布minimal example program 并更详细地解释您的问题,包括您期望的行为与您的行为'得到。
-
@madhawapriyashantha 不需要大喊大叫... ;)
标签: java swing boolean boolean-logic