ColorChooser 패널이 있는데, 프로그램에서 JButton을 클릭하면 어떻게 나타나게 할 수 있습니까? 편집 : 크기를 조정할 수 있고 이동 가능하며 닫을 수있는 새 프레임에 표시하려고합니다.JButton을 클릭 할 때 JPanel이 나타나게하려면 어떻게해야합니까?
답변
JBu 용 ActionListener를 작성해야합니다. 톤. 이 같은
뭔가 :
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
/**
*
* @author roger
*/
public class MyActListener extends JFrame implements ActionListener{
public MyActListener(){
super("My Action Listener");
JButton myButton = new JButton("DisplayAnything");
myButton.addActionListener(this);
this.add(myButton);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);
}
public static void main(String[] args) {
// TODO code application logic here
MyActListener ma = new MyActListener();
}
@Override
public void actionPerformed(ActionEvent e) { // YOur code for your button here
if("DisplayAnything".equals(e.getActionCommand())){
Color c = JColorChooser.showDialog(this, "Color Chooser", Color.BLACK);
JButton displayAnything = (JButton)e.getSource();
displayAnything.setBackground(c);
}
}
이
How to write an ActionListener의
Java tutorials를 살펴 보자. Java에 대한 기본적인 자습서를 보시려면 여기에있는 큰 인덱스를보십시오.
이것이 JButton에 대한 액션 리스너를 작성하는 올바른 방법 일 경우 추가 독자로부터 피드백을받을 수 있습니까? 버튼 수가 증가하기 시작하면 ActionListener를 구현하는 클래스를 만드는 것이 더 낫습니까? – Roger
나는 개인적으로 주석의 마지막 예제와 같은 익명의 내부 클래스를 사용하는 것을 선호하며, 클래스에 대한 호출을 선호합니다. (예 : myButton.addActionListener (this); myButton.addActionListener (new MouseListener() {...}) 거기에서 논리를 구현하십시오. 이렇게하면 액션 명령을 정의 할 필요가 없으며 주목 한대로 새로운 버튼을 추가 할 때 actionPerformed 메서드가 다소 오래 걸릴 수 있습니다. 귀하의 모든 예는 유효하며 물론 사용 중입니다. – mort
감사! 질문이 하나 더 있는데 어떻게하면 버튼을 내가 선택한 색상으로 보이게 할 수 있습니까? –
당신은 자바 스윙 자습서를 볼 수 있습니다 - ColorChooserDemo2 : http://docs.oracle.com/javase/tutorial/uiswing/components/colorchooser.html#advancedexample
기본적으로, JColorChoose가 대화 상자에 표시 할 수 있습니다 :이 파일 선택기를 활성화하기 위해 버튼 http://docs.oracle.com/javase/6/docs/api/javax/swing/JColorChooser.html
Color newColor = JColorChooser.showDialog(
ColorChooserDemo2.this,
"Choose Background Color",
banner.getBackground());
:
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//color is whatever the user choose
Color color = JColorChooser.showDialog(currentComponent, "Color Chooser", Color.WHITE);
JButton thisBtn = (JButton)e.getSource(); //or you can just use button if that's final or global
thisBtn.setBackground(color);
}
});
감사합니다 :) 내 JButton에서 내 ActionPerformed에서 어떻게 구현할 수 있습니까? –
그래, 한 번 더 질문, 어떻게 내가 버튼을 내가 선택한 색상으로 표시 할 수 있습니까? –
- 1. 이미지를 클릭 할 때 JTextField가 나타나게하려면 어떻게해야합니까?
- 2. 마우스를 클릭 할 때 이미지 위에 모양이 나타나게하려면 어떻게해야합니까?
- 3. 특정 탭을 클릭 할 때마다 카메라가 나타나게하려면 어떻게해야합니까?
- 4. JButton을 보이지 않지만 클릭 할 수있게 만드시겠습니까?
- 5. JButton을 클릭 할 때 새 JFrame을 여는 방법은 무엇입니까?
- 6. 텍스트 상자에서 그리드가 나타나게하려면 어떻게해야합니까?
- 7. UIView를 즉시 나타나게하려면 어떻게해야합니까?
- 8. 소요 시간을 모를 때 QProgressDialog가 나타나게하려면 어떻게해야합니까?
- 9. 마우스 클릭 후 x 좌표가 나타나게하려면 어떻게해야합니까? - Python
- 10. JButton을 마우스 오른쪽 버튼으로 클릭
- 11. 암호를 묻는 메시지가 나타나게하려면 어떻게해야합니까?
- 12. 이미지를 클릭 할 때 전체를 열려면 어떻게해야합니까?
- 13. JButton을 JTable 아래에 배치하려면 어떻게해야합니까?
- 14. 같은 줄에 ASP.net 개체가 나타나게하려면 어떻게해야합니까?
- 15. JButton을 클릭 한 후 JTable을 업데이트하십시오.
- 16. 이미지 위에 JButton을 표시하려면 어떻게해야합니까?
- 17. 버튼을 클릭하면 JPanel이 변경됩니다.
- 18. 프리 런스 이미지가 실행될 때 실제로 나타나게하려면 어떻게해야합니까?
- 19. 응답하지 않는 스크립트 경고가 나타나게하려면 어떻게해야합니까?
- 20. 마우스 클릭시 OpenGL 개체가 나타나게하려면 어떻게해야합니까?
- 21. 부모 프레임 크기를 조정할 때 JPanel이 축소되도록하려면 어떻게해야합니까?
- 22. 마우스를 css3으로 움직일 때 다른 이미지 위에 이미지가 나타나게하려면 어떻게해야합니까?
- 23. 이미지 위에 호버 박스가 나타나게하려면 어떻게해야합니까?
- 24. JTextField에서 일본어 문자가 올바르게 나타나게하려면 어떻게해야합니까?
- 25. 내 콘텐츠 -bg에 상자 그림자가 나타나게하려면 어떻게해야합니까?
- 26. "Goodbye Window"가 Java로 나타나게하려면 어떻게해야합니까?
- 27. RailsAdmin에 Delayed :: Jobs (Mongoid)가 나타나게하려면 어떻게해야합니까?
- 28. 검정색 UISegmentedControl이 보이는 강조 표시로 나타나게하려면 어떻게해야합니까?
- 29. 내 콘솔 창이 다른 위치에 나타나게하려면 어떻게해야합니까?
- 30. 주소 표시 줄의 주소가 다르게 나타나게하려면 어떻게해야합니까?
추가 정보가 필요합니다. 어디에서 나타 납니까? 다른 창문 뒤에서 같은 창문? 대화 상자의 팝업? –
크기 조정 가능하고 이동 가능하며 닫을 수있는 새 프레임에 표시하려고합니다. –
어떻게 ColorChooser가 나타나게 되었습니까? 자신의 패널과 동일하게하십시오. – Randy