2010-03-18 5 views
1

스윙의 텍스트 영역에서 텍스트의 글꼴을 변경하려고합니다. 프로그램에서 글꼴 코드를 시작할 수있는 동작을 트리거하기 위해 텍스트 영역에서 사용해야하는 수신기는 무엇입니까?스윙에서 텍스트 영역에 사용할 가장 적합한 수신기는 무엇입니까

모든 예제에는 텍스트 클래스에 직접 액세스 할 수있는 동일한 클래스의 모든 스윙이 있지만 여러 클래스가 있습니다. 나는 textarea를 안으로 및 안으로 및 in/in에 전달할 수 있다는 것을 알고 있지만 이것은 엉성함이다.

시작하려는 청취자를 파악할 수 없습니다.

+2

당신은 무엇을 듣고 있습니까? 이 질문에서 분명하지 않습니다. –

+0

죄송합니다. 현재 AbstractActions를 트리거하는 menubar 항목이 있습니다. – Kraagenskul

+0

그러면 청취자는 어디서 들어 옵니까? 하나의 작업에서 글꼴을 설정하지 않습니까? –

답변

1

텍스트 영역을 듣고 있다면 사용자가 입력하는 글꼴을 변경할 수있는 방법이 무엇인지에 따라 달라집니다.

MouseListener를 사용하여 마우스 오른쪽 버튼을 클릭하여 글꼴을 변경할 수있게하려면/etc ... 또는 일련의 키를 수신하려는 경우 KeyListener를 사용할 수 있습니다.

2

Swing의 텍스트 영역에있는 텍스트의 글꼴을 변경하려고합니다. 당신이 글꼴을 변경하려는 경우 다른 구성 요소를 클릭 할 어쩌면 "글꼴 변경"버튼을했을 있도록

잘 JTextArea에 단지 하나의 글꼴을 가질 수 있습니다. 이 경우 버튼에 ActionListener를 추가하여 텍스트 영역의 실제 글꼴을 변경합니다.

선택한 텍스트에서 실제로 글꼴을 변경해야하는 경우 JTextArea로이 작업을 수행 할 수 없습니다. JTextPane을 사용해야 할 것이다. 선택된 텍스트의 속성을 변경하는 예제는 JTextPane API를 읽고 "텍스트 구성 요소 기능"에 대한 스윙 튜토리얼의 링크를 따라 가십시오. 이러한 이유로 편집기 키트에서 제공하는 작업을 사용합니다.

기본적으로 스윙 구성 요소 사용의 기본 사항을 확인하려면 스윙 튜토리얼을 읽어야합니다.

+0

textArea를 내 작업에 전달하여 작동하는 JTextArea의 모든 글꼴을 변경하려고합니다. 알아 내려고하는 것은 textArea를 내 액션에 전달할 필요가 없도록 만드는 방법입니다. – Kraagenskul

+0

EditorKit에 정의 된 Actions는 모두 TextAction에서 확장됩니다. TextAction은 마지막으로 포커스가있는 텍스트 구성 요소를 반환하는 메서드를 제공합니다. 따라서 해당 텍스트 영역에서 수행 할 작업을 원할 경우 TextAction에서 확장 할 작업을 작성할 수도 있습니다. 액션을 특정 텍스트 영역에서 수행하려면 사용자 정의 액션을 만들 때 해당 텍스트 영역을 매개 변수로 전달해야합니다. – camickr

관련 문제