클래스에 대한 프로젝트를 수행하고 있는데 다음과 같은 상황이 있습니다. 생성자에서 작업 할 객체를받는 JDialog입니다. Object 'Album'은 MySQL 부울에 따라 0 또는 1 일 수있는 두 가지 속성을 가지고 있습니다. 창이 초기화되면 두 속성의 상태를 확인합니다. 그 중 하나가 1로 설정되면 해당 jCheckBox가 확인됩니다. 그렇지 않은 경우 (대소 문자 0)에는 선택되지 않은 상태로 유지되고 두 번째 속성에는 동일하게 유지됩니다.자바 - 비활성화하지 않고도 jCheckBox를 선택 취소 할 수 없게 만듭니다.
내가 원하는 것은 두 개의 jCheckBox를 비활성화하지 않고 편집 할 수 없도록 만드는 것입니다. 즉, '활성화'로 표시되지만 계속 클릭하면 아무 것도 나타나지 않습니다. 왜냐하면 내가보고 싶지 않기 때문입니다. 비활성화 된 회색.
체크 상자의 상태를 계속 확인하는 스레드를 만드는 등 몇 가지 시도를했지만, 앨범 속성에 설정된 것이 아니라면 올바른 상태로 바뀌지 만 작동하지 않으면 확인하거나 원하는대로 두 확인란의 선택을 취소하십시오.
어떻게해야합니까?
여기까지 지금까지 내가 가지고있는 것이 있습니다.
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 –