[완료]swing에서 cardlayout 이벤트처리 질문입니다

jungho_gun의 이미지

java를 공부하는 학생입니다.

프로그램 개발경험이 많이 부족한지라 열심히 하고는 있는데 몇가지 궁금한 점이 있습니다.

swing으로 프레임을 만들어서 다른 창을 실행시키면 setLocation()으로 인해서 창의 위치가 본래창위치에서 다른곳으로 갈때가 있습니다.
그걸 해결할려고 cardlayout을 쓰게 되었습니다. 근데 문제점이 이벤트처리에서 걸리고 있습니다.

각 윈도우창별로 클래스를 분리하고, 각각의 클래스안에 이벤트를 선언했기 때문에 버튼을 누르면 다시 본래창으로 돌아간다던가 해야 하는데
못돌아가고 있습니다. dispose()를 쓰면 된다고 하는데 그건 cardlayout을 사용하지 않는 경우인거 같아서 제외시켰습니다

요지는
====================================================================================================================
window 1번 -(cardlayout)-> window 2번 -(cardlayouy)-> window 1번 으로

돌아가려면 버튼 이벤트 처리부분에서 window1번 클래스를 다시 선언해야 하나요?

(window별로 파일이 별도로 존재합니다. 한 클래스에서 모든 window를 처리하면 간단히 해결가능하지만 oop에서 어긋나 서로 분리해서 작업하려고 합니다.)
====================================================================================================================

지나가는 조언이라도 부탁드립니다. 혹시 제가 간과하는 점이라도 지적해 주십시요;;

jungho_gun의 이미지

1.window1에 window2의 동일한 버튼을 구현하고 window1에 getPanel()메소드를 구현해서 window2의 패널을 가져온다음 버튼 이벤트를 주면 되네요.
2. 다른 방법으로는 cardlayout을 쓰지 않는 방법인데, window1에서 this.getLocation()메소드를 사용해서 위치에 대한 point를 얻은 다음(point객체이며 int형이 아닙니다). 그 위치를 window2에 보내주면 window2에서 값을 받아서 그 위치에 화면을 출력할수 있더군요. 하지만 근본적으로 창이 닫히고 다른 창이
열리기 때문에 깜박임과 같은 딜레이를 볼수 있었습니다.

===========================================
누구나 실수는 한다. 나도 예외는 아니다.

===========================================
누구나 실수는 한다. 나도 예외는 아니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.