GUI 프로그래밍을 어떻게?

novice의 이미지

이제 막 자바와 C언어를 할 줄 알게된 초보입니다.

커맨드 라인에서가 아닌 GUI프로그램을 하나 짜보고 싶은데요.

SWING으로 해볼까.. 하다가.. 초보에겐 너무 힘들것 같다는 생각이 앞서더군요;

이 방대한 소스를 내가 과연 짤 수 있을까-_-;;;

VI로 하나하나 짜기에는 인간의 수명이 너무 짧은 것 같은데 웹 페이지를 만들때와

마찬가지로 편리한 툴이 있지 않을까 싶어 질문 드립니다.

분명 하나하나 다 짜진 않으실것 같다는 생각에..

이런 것들을 배우려면 어떻게 해야하죠?

alsgo123의 이미지

C 라면.... GTK+ 를 이용한 프로그래밍, C++ 은 QT 혹은 GTKmm ^^
그리고 C 와 tcl/tk 등등.....

GTK+,QT 정도가 좋을것 같습니다. 간단한 것이나 접근하기 쉬운(?) Tcl/tk 도 괜찮을것 같고요.

http://www.gtk.org
http://www.trolltech.com

위 사이트들을 한번 보세요. ^^

많은 도움이 못되는군요.... :D

xfree의 이미지

간단한 GUI 프로그램은 그리 어렵지 않습니다.
우선 겁부터 없애시구요^^

X라이브러리만을 이용한다면 좀 어렵겠지만...

gtk나 qt와 같이 대부분의 잘만들어진 툴킷을 이용하면
몇줄만으로 "hello world"를 윈도우안에서 띄울 수 있습니다.

자바의 awt나 swing도 마찬가지구요..

모두들 잘 만들어진 프로그래밍 메뉴얼을 제공하므로
예제에 나온 프로그램을 직접 코딩해가면서
따라해보는게 좋을 것 같습니다.

redrocki의 이미지

리눅스 그놈 진영에서 나온 툴로써 Gtk+ 로 화면 디자인 하는데 아주 쉽게
사용할수가 있습니다.

http://glade.gnome.org/

===========================

Make Beautiful 世上 ~~~ Cool Mind!!

===========================

saxboy의 이미지

gtk라면 glade,
qt라면 qtdesigner, kdevelop...
java는... 음. 뭐가 있죠? 자바로 GUI를 만들어본것이 벌써 칠년이 넘은 것 같네요... 큭.

hurryon의 이미지

냠냠...자바라면 J빌더가 GUI 만들때는 편할겁니다. 냠냠...

alfalf의 이미지

전 요즘 Glade와 Anjuta를 이용하여 프로그래밍하는데
굉장히 만족하며 사용하고 있습니다.
Linux라면 대부분의 배포판에 Glade는 있는것 같던데...
Anjuta를 설치하는 것도 그리 힘들지는 않으니 한번
시도해 보시죠...

세벌의 이미지

SWING이라.... 자바프로그램을 하시려나 보군요. 그런데 질문을 보면 일반적인 GUI 프로그램을 말하는 것 같기도 하고... 질문의 주제를 잘 모르겠군요. -.-

feanor의 이미지

novice wrote:

VI로 하나하나 짜기에는 인간의 수명이 너무 짧은 것 같은데
웹 페이지를 만들때와 마찬가지로 편리한 툴이 있지 않을까 싶어 질문 드립니다.
분명 하나하나 다 짜진 않으실것 같다는 생각에...

(마우스로 그려주면 코드를 생성해주는) GUI builder 를 원하시는 것 같은데,
(다른 분들이 소개해주셨듯이) 자바는 여러 툴이 있고, GTK 의 glade 나 Qt 의
Qt designer 같은 것도 있습니다.

다만, VI로 하나하나 짜는 사람도 많습니다. 많은 프로그램들에서 설정창 같은
간단한 것 외에 core 라고 할만한 GUI 는 사람 손으로 짠 것입니다.

-- feanor

novice의 이미지

답변 주신분들 모두 고맙습니다. : )

I don't belong here..

logout의 이미지

Java와 C를 하시는 정도라면 Swing에 욕심내지 말고 일단 자바 애플릿 프로그래밍을 해 보세요. 깊이가 부담스럽지 않고 양이 많지 않기 때문에 조금만 노력하시면 기본 개념은 확실히 잡을 수 있습니다. 제가 예전에 수업받은 교재 링크를 첨부해드리죠. 여기서 3월 말경 강의에 보면 AWT에 대한 개괄, 그리고 Widget을 담는 container의 개념, 그리고 event handling 까지만 하면 충분합니다. 프로그래밍을 하는데는 그냥 에디터 하나와 기본 컴파일러로 충분합니다.

http://www.eecs.umich.edu/~bartlett/w02si-hw.html

GTK+ 프로그래밍은 여러 랭귀지 바인딩이 있기는 하지만 아무래도 원래 C로 디자인 되어 있고 C 중심의 튜토리얼이 이해하기 힘들 어 보일 수도 있습니다. 어쨌든 GUI 툴킷들의 개념은 비슷비슷하니 자바 애플릿만 잘 해 놓으면 다른 툴킷을 배우기가 훨씬 수월할 겁니다.

QT쪽은 제가 안해봐서 잘 모릅니다만 잘 설계된 GUI 툴킷이라는 평가가 많습니다.

"I conduct to live,
I live to compose."
--- Gustav Mahler

youlsa의 이미지

어떤걸 선택하시던지 쉽게 해보시려면 예제 프로그램 중 간단한걸 하나를 복사해놓고 조금씩 고쳐가며 해보세요. 다 외우거나 할 필요는 전혀 없으니까요. 제 개인적으로는 Qt가 제일 쉽게 되어있지 않나 싶습니다만... 사람마다 취향에 따라 어떤게 편하게 느껴지는지는 천차만별입니다.

=-=-=-=-=-=-=-=-=
http://youlsa.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.