2016-10-19 4 views
1

그래서 프로그램을위한 인터페이스 작업을 마쳤습니다.하지만 이제는 프로그램에서 실제로 처리해야합니다. 나는 잠시 동안 자바를 사용 해왔다. 그러나이 같은 것들은 여전히 ​​나에게 매우 새로운 것이다.자바에서 JCheckBox와 JButton을 모두 확인하십시오.

나는 다른 사이트와 다른 웹 사이트에서 광범위하게 검색했다. 하지만 제가 가장 필요한 것은 JavaScript에 대한 질문이었습니다.

버튼과 17 개의 체크 박스가 있습니다.

내가해야 할 일은 (모든 단일 체크 박스에 대해) 체크 박스가 선택되어 있는지 확인하고, 그렇다면 버튼이 클릭되었는지 확인하십시오 (전환 버튼이 아닙니다). 그런 다음 코드를 실행하십시오.

가능한 한 적은 코드를 사용하기 위해 버튼과 체크 박스가 모두 반환되는 경우 실행되는 코드 인 다른 .class 파일에서 기본 코드 호출과 같은 작업을 수행하기를 바랬습니다. 참된. 모든 단일 체크 상자 부울에 대한 코드를 붙여 넣는 대신.

If (JCheckBox is checked) { 
    If (JButton is pressed) { 
     Call other .class file 
    } 
} 

else { 

} 

지금이 매일 체크 박스 아래에 가야 할 것이고, 나는 버튼 하나 하나 시간을 확인해야합니다 :

그래서 단순히 이것이 내가해야 할 것입니다, 넣어. 그래서 대안으로 JButton의 코드에 따라 부울에 대한 모든 코드를 넣고 많은 선을 저장할 수 있습니다. 그러나 다른 객체의 코드 블록에서 한 객체를 검사 할 수 있는지 여부는 알 수 없습니다.

다음은 버튼과 체크 박스 중 하나의 코드 스 니펫입니다.

//"Clean" button 
JButton btnClean = new JButton("Clean"); 
    btnClean.setBounds(244, 149, 100, 50); 
    btnClean.setFont(new Font("Arial", Font.PLAIN, 20));    
    panel_Clean.setLayout(null); 
    panel_Clean.add(btnClean); 

//Checkbox "Temporary Files" (Registry) 
JCheckBox chckbxTemporaryFilesRegistry = new JCheckBox("Temporary Files"); 
chckbxTemporaryFilesRegistry.setBounds(12, 80, 162, 15); 
panel_Destination.add(chckbxTemporaryFilesRegistry); 

그래서이 조각 위의 의사 코드에서, 당신은 내가 "만약"문장의 집합을 넣어하려는 참조 중 하나를 체크 박스, 또는 버튼 코드 블록 수 있습니다. 어떤 것이 더 효율적인지에 따라 다음 메인 클래스 파일 (인터페이스를 만드는 폴더)과 같은 폴더에있는 다른 클래스 파일을 호출하십시오.

답변

1

ActionListener를 사용할 수 있습니다. 이 리스너는 버튼이 눌려 질 때 일부 코드를 실행합니다. 우선은 그 다음의 ActionListener

implements ActionListener 

을 구현하는 액션 리스너에 버튼을 추가해야합니다.

btnClean.addActionListener(this); 

지금, 당신은 당신의 각 actionPerfomed 방법 I가 당신에게 문제를 해결 희망

public void actionPerformed (ActionEvent ae){ 
    if(chckbxTemporaryFilesRegistry.isSelected()){ 
     //dosomething 
    } 

} 

편집 할 수 있습니다. 좋은 하루 되세요.

+0

같은 EventListener 등을 사용해야 할 것입니다,하지만 난 둘 것 곳으로 확실 해요 – Denisowator

+0

클래스 선언에 구현 ActionListener를 추가 할 수 있습니다 :) – Timo

+0

죄송합니다. 실수로 Enter 키를 누릅니다. ... 대답의 맨 아래에 "ActionListener"및 메서드가 구현됩니다. 이 부분에 대해서는 언급하지 않았지만 코드에는 많은 메소드가 있습니다.이 코드를 올바른 위치에 놓을 지 모르겠지만, 그렇지 않으면 나에게 줄 것입니다. 내가 이해하지 못하는 오류. – Denisowator

0

당신은 체크 박스 chckbx.isSelected()을 사용할 수 있지만 버튼에 대한 당신이 ActionListener 또는 당신의 대답은 많은 도움을 준 MouseListener

관련 문제