2014-10-17 2 views
1

Im SWT에 새로운 GUI를 만들고 사용자가 "확인"버튼을 클릭하면 경고 메시지를 보내려고합니다. "귀하의 매개 변수가 잘못되었습니다"와 같은 오류 아이콘을 선호하고 "귀하의 매개 변수가 정확합니다"체크 아이콘이 바람직합니다. 약간 검색을했는데 MessageBox()을 사용하여 가능할 수 있지만 체크 나 눈금 아이콘이 없으며 맞춤 이미지를 만든 다음 대화 상자에 적용하고 싶지 않습니다. MessageBox()으로 새로운 MessageBox 객체를 만들고 텍스트를 설정 한 다음 텍스트를 열어야합니다 ... Swing에서 이와 같은 간단한 한 줄 솔루션이 아닌가요? StaticClass.showmsg(type,"String"); 예를 들어? 가능하다면 JFace를 피하고 싶습니다. 왜냐하면 다른 라이브러리와 JFace에서 수 많은 오류가 발생했기 때문에 그렇게 힘들지는 않을 것입니다 ... 이것은 MessageBox()으로 얻은 것입니다. 윤리적으로 보지 않습니다.사용자 지정 아이콘이있는 간단한 SWT 경고 메시지?

Message box example

편집 : 내가 JFace의 추가와 JFace는 또한 체크 아이콘 (MessageDialog) 그래서 난 내 자신하지만 방법에 체크 아이콘을 추가해야합니다 다른 기회가없는 것처럼 보이는이 나던? 나의 현재 경고 메시지가 :

MessageDialog.openWarning(Display.getDefault().getActiveShell(), "Warning", "Input parameters are wrong!") 

나는 MessageDialog.openOK()이 였으면하지만, 그래서 나는이 메시지에 내 자신의 아이콘을 삽입 할 수있는 방법이 밤은?

+0

JOptionPane이 귀하의 필요에 맞습니까? – IdusOrtus

+0

@IdusOrtus Jface를 계속 사용하려고 시도하지만 작동하지 않으면 JOptionPane을 사용합니다. JOption pane 오류/정보 메시지는 화면의 중앙으로 직접 오지만 응용 프로그램은 왼쪽 상단 모서리에있어 멋지지 않습니다. 응용 프로그램에 정확하게 표시되도록 할 수 있습니까? – Anarkie

+0

showMessageDialog()를 호출 할 때 첫 번째 인수로 응용 프로그램 프레임을 지정하거나 JOptionPane 메서드를 결정할 수 있습니다. 구글 joptionpane 다른 옵션에 대한 위치를 설정합니다. – IdusOrtus

답변

1

SWT MessageBox는 OS/윈도우 시스템의 기본 메시지 대화 상자를 사용합니다 (적어도 Windows에서는). SWT의 MessageBox에 대한 사전 정의 된 체크 이미지가 없습니다. 잘 - - 오류 메시지와 같은 정보 메시지

SWT.ICON_INFORMATION을 제공하고 ICON_ERROR되고, '당신의 매개 변수를 확인하다'.

귀하의 요구에 맞지 않는 경우 JFace에 문의하거나 순수한 SWT에 직접 메시지 대화를 작성할 수 있습니다. JFace를 선택한 경우 오류, 정보, 경고 등과 같은 표준 대화 상자에 MessageDialog을 사용하거나 대화 상자 내용을보다 세부적으로 제어해야하는 경우 IconAndMessageDialog을 사용하십시오.

+0

'MessageDialog'가 더 나은 옵션 일 수 있습니다. –

+0

내가 누락 된 항아리를 추가했지만 지금은 jface 항아리 자체가 아닌 항아리 만 필요합니다. 어쨌든 이제는 경고 메시지가 jface와 작동하지만 인터넷에서는 제한된 예제를 찾았습니다. 내가 볼 수있는 곳을 알고 있습니까? 우아한 오류/정보/확인 (** 확인 **) 대화 상자? – Anarkie

+0

나는 "체크"를 위해서 내 자신의 아이콘을 추가하기로 결정한 체크 아이콘으로 아무것도 찾을 수 없었다. 어떻게 할 수 있을까? 내 질문을 업데이트했습니다. – Anarkie

0

콘솔 창 위치를 찾는 방법 (창을 정렬하기 위해 필요한)을 알지 못하지만 응용 프로그램의 전체 모양이 걱정된다면 가장 좋은 방법은 일관성을 유지하기 위해 중 하나를 사용하는 것입니다.

다음은 GUI를 선택한 경우 사용할 수 있습니다.

수집하는 데이터가 이 아니고이 아닌 경우 NetBeans Swing GUI Builder (Matisse)을 살펴볼 수 있습니다. 여러분은 빌더에 대해 다양한 의견을 가지고 있습니다. 그러나 NetBeans는 스윙에 익숙해지는 좋은 방법이며 가격을 이길 수는 없다고 생각합니다. 1 시간 정도 걸리며 기본 자습서를 살펴보고 간단한 GUI (바닐라 임에도 불구하고)를 즉시 디자인 할 수 있습니다.

수집 할 데이터가 단순하면 showInputDialog()를 사용할 수 있습니다. 다음은 완벽한 단순한 드롭 다운 예제입니다. 수집하는 데이터에 관한 자세한 정보를 제공하면 다른 예를 제공 할 수 있습니다.URL에서 사용자 정의 아이콘 JOptionPane의 메시지 창

String response; 
String[] possibleValues = { "a Pony", "a Job", "World Peace"}; 

JOptionPane.showInputDialog(null, 
     "Choose one", "Select Something", 
     JOptionPane.INFORMATION_MESSAGE, null, 
     possibleValues, possibleValues[0]); 

response = String.format("You desire %s\n", possibleValues); 
JOptionPane.showMessageDialog(null, response); 

간단한 예제 :

public void foo() throws MalformedURLException 
{ 

    ImageIcon failIcon = new ImageIcon(new URL("https://cdn0.iconfinder" + 
      ".com/data/icons/star-wars/512/darth_vader-32.png")); 
    ImageIcon okIcon = new ImageIcon(new URL("http://www.fimfiction-static" + 
      ".net/images/avatars/98207_32.jpg?1373627869")); 
    JOptionPane.showMessageDialog(null, "Parameters are incorrect.", "Derp", 
      JOptionPane.ERROR_MESSAGE, failIcon); 
    JOptionPane.showMessageDialog(null, "Parameters are correct.", "Rejoice", 
      JOptionPane.PLAIN_MESSAGE, okIcon); 

행운을 빕니다!

+0

안녕하세요 Idus 님의 답변에 감사드립니다. JOptionPane에 대한 아이콘 예제가 많이 발견되었지만 경고 메시지가 SWT에 비해 느려지므로 하나의 GUI 위젯을 고수해야 SWT가됩니다. 그래서 내 자신의 아이콘을 SWT/JFace에'MessageDialog.openWarning (Display.getDefault(). getActiveShell(), "경고", "입력 매개 변수가 잘못되었습니다! – Anarkie