我正在爲我的課做一個項目,我有以下情況: 這是一個JDialog,接收構造函數上的對象以使用它。根據MySQL布爾值,對象'相冊'有兩個屬性可以是0或1。 當窗口初始化時,它會檢查這兩個屬性的狀態。如果其中一個設置爲1,則檢查相應的jCheckBox。否則(情況0)它保持未選中,並且與第二個屬性相同。Java - 使jCheckBox不可禁用或反之亦然,而不禁用它
我想是什麼力量讓兩個jCheckBoxes不可編輯,而無需禁用它們,也就是說,它仍然期待爲「已啓用」,但如果你點擊它會不會發生什麼,因爲我不想讓他們看看灰色爲禁用。
我嘗試了一些東西,例如創建一個保持檢查複選框狀態的線程,如果它不是相冊屬性中的集合,它將其更改爲正確的狀態,但它不起作用,您可以檢查或根據需要取消選中兩個複選框。
我該怎麼辦?
這是我現在所擁有的。
public class JDVerAlbum extends javax.swing.JDialog {
/**
* Creates new form JDVerAlbum
*/
Album a;
/**
*
* @deprecated
*/
public JDVerAlbum(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
public JDVerAlbum(java.awt.Frame parent, boolean modal, Album a) {
super(parent, modal);
this.a=a;
initComponents();
inicializar();
}
private void inicializar(){
Statement stm = Controlador.connect();
String s = null;
try {
ResultSet rs = stm.executeQuery("SELECT grupo.nombre from album, grupo where album.nombre='"+a.getName()+"' and album.idgrupo=grupo.id;");
rs.next();
s = rs.getString(1);
} catch (SQLException ex) {
Logger.getLogger(JDVerAlbum.class.getName()).log(Level.SEVERE, null, ex);
}
jLabelAlbum.setText(a.getName()+" - "+s);
this.setTitle("Quaver Records - Ver álbum - "+jLabelAlbum.getText());
jTextFieldAño.setText(""+a.getReleaseYear());
jTextFieldTipo.setText(""+a.getType());
if(a.getPhysicalSales()==1){
jCheckBoxFisica.setSelected(true);
}
if(a.getDigitalSales()==1){
jCheckBoxDigital.setSelected(true);
}
}
是否必須是複選框?因爲它們不可編輯,所以標籤怎麼樣? – kuporific
這不是必須的,但會是酷的方式,因爲GUI看起來像這樣:http://prntscr.com/3hztky –