java设置控件可见性_是否有方法绑定组件的可见性?

这篇博客探讨了如何在Java中绑定控件的可见性,作者试图使用org.jdesktop.beansbinding库来实现组件的可见性自动绑定,并给出了一个尝试修改代码的例子。
摘要由CSDN通过智能技术生成

你好吗?

我的问题很简单,但我还没有找到解决办法。

是否有方法绑定组件的可见性?

我知道有一种方法可以绑定为“可编辑”,但不可见。

下面是一个简单的例子:

public class Test extends javax.swing.JFrame {

/**

* Creates new form Test

*/

public Test() {

initComponents();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

//

private void initComponents() {

bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

master = new javax.swing.JCheckBox();

disapear = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setMaximumSize(new java.awt.Dimension(505, 333));

setMinimumSize(new java.awt.Dimension(505, 333));

getContentPane().setLayout(null);

master.setText("jCheckBox1");

getContentPane().add(master);

master.setBounds(34, 80, 93, 25);

disapear.setText("following");

org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, master, org.jdesktop.beansbinding.ELProperty.create("${selected}"), disapear, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

getContentPane().add(disapear);

disapear.setBounds(200, 80, 69, 22);

bindingGroup.bind();

pack();

}//

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Test().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JTextField disapear;

private javax.swing.JCheckBox master;

private org.jdesktop.beansbinding.BindingGroup bindingGroup;

// End of variables declaration

}

所以,代替

org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, master, org.jdesktop.beansbinding.ELProperty.create("${selected}"), disapear, org.jdesktop.beansbinding.BeanProperty.create("enabled"));//<<<

bindingGroup.addBinding(binding);

有点像

org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, master, org.jdesktop.beansbinding.ELProperty.create("${selected}"), disapear, org.jdesktop.beansbinding.BeanProperty.create("visible")); //<<<

bindingGroup.addBinding(binding);

我知道还有其他方法可以做到,但我正在学习这个新工具,感觉比听众和事件更有趣

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值