eclipse 3.5.2 갈릴레오(Galileo)에 jadclipse 설치

1. jadclipse plug-in 최신버젼을 다운로드(net.sf.jadclipse_3.3.0.jar)

- http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download

2. jad binary파일을 다운로드(Jad 1.5.8g for Windows 9x/NT/2000 on Intel platform)

- http://www.varaneckas.com/jad

3. jadclipse plugin파일을 이클립스 dropins폴더에 넣는다.
- ...\eclipse3.5.2\dropins

4. 이클립스를 실행

- window - preferences - java - jadclipse
path to decompiler에 jad binary경로 추가
(ex> D:\android_nsm\jadclipse\jad.exe)

- window - preferences - java - jadclipse - misc
convert unicode strings into ANSI String 체크

- window - preferences - general - editors - file associations 이동 후 *.class에
associated editor로 jadclipse class file viewer를 default로 선택

저작자 표시

'프로그램 언어 > 펌글' 카테고리의 다른 글

엑셀파일 복구하기  (0) 2011.11.02
jstl function 샘플~  (0) 2011.03.28
POI 옵션  (0) 2010.11.02
Eclipse에서 Swing 개발 & EXE 만들기  (1) 2010.03.17
모달 팝업창 제어하기  (0) 2010.02.21

마이크로소프트 오피스 온라인에 작성된 글입니다.  너무 정리가 잘 되어 있는 것 같아 공유하니 꼭 한번씩 읽어 보시길 바랍니다. 

기사원문 

Microsoft Excel에는 파일을 다시 여는 동시에 복구를 시도하여 손상된 파일을 자동으로 복구하는 기능이 있습니다. 파일을 복구하는 동안 변경 내용이 확인됩니다. 복구에 실패하면 다시 파일을 열려고 시도하지만 이 경우 파일을 복구하는 대신 데이터만 남기고 셀 값과 수식은 추출합니다. 그러나 Excel이 자동으로 복구 모드로 전환되지 않는 경우도 있어 사용자가 파일 데이터를 수동으로 복구해야 할 수도 있습니다. 

파일을 수동으로 복구하려면 다음을 실행하십시오. 

1. 파일 메뉴에서 열기를 클릭합니다.
2. 열기 대화 상자에서 열려는 파일을 선택하고 열기 단추 옆의 화살표를 클릭합니다. 
3. 열기 및 복구를 클릭한 다음 통합 문서 복구에 사용할 방법을 선택합니다. 

손상된 통합 문서의 데이터를 복구하는 방법

다음은 손상된 파일의 데이터를 수동으로 복구하는 데 사용할 수 있는 방법입니다. 디스크 오류나 네트워크 오류로 인해 파일을 열 수 없는 경우도 있습니다. 그런 경우에는 파일을 다른 하드 디스크 드라이브로 옮기거나 네트워크에서 로컬 디스크로 옮긴 후 다음에 설명하는 복구 옵션을 실행해야 합니다.

다음 방법들은 다른 상황에서는 손상될 수도 있는 데이터를 저장하는 방법이므로 한 가지 방법으로 실패하면 다른 방법을 사용해 보십시오. 이러한 방법을 사용하여 데이터를 복구할 수 없으면 타사 소프트웨어 솔루션을 사용하여 파일을 복구할 수도 있습니다.

Excel에서 파일을 열 수 있는 경우

저장된 문서로 되돌리기 명령 사용

Microsoft Excel 워크시트를 편집하다가 변경 내용을 파일에 저장하기 전에 파일이 손상되면 다음을 실행하여 원래의 워크시트를 복구할 수 있습니다.
 

1. 파일 메뉴에서 열기를 클릭하고 편집 중인 파일 이름을 선택합니다.
"저장된 문서로 되돌리시겠습니까?"라는 메시지와 함께 대화 상자가 나타납니다.
 

2. 확인을 클릭합니다. 편집 중이던 파일이 마지막 저장된 버전으로 돌아갑니다. 

SYLK 형식으로 파일 저장 

파일을 SYLK 형식으로 저장하는 것은 일반적으로 프린터 손상을 해결하기 위한 것입니다. 손상된 Microsoft Excel 파일을 열 수 있는 경우 다음과 같이 파일을 SYLK 형식으로 저장하고 닫은 다음 파일을 다시 열면 파일을 "필터링"할 수 있습니다.

 

1. 파일 메뉴에서 다른 이름으로 저장을 클릭합니다.

 

2. 파일 형식 목록에서 SYLK (Symbolic Link)를 클릭한 다음 저장을 클릭합니다.

참고  SYLK 파일 형식을 사용할 때는 통합 문서의 현재 시트만 저장됩니다. 선택한 파일 형식이 통합 문서를 지원하지 않는다는 메시지가 나타나면 확인을 클릭합니다. SYLK 형식과는 호환되지 않는 기능이 파일에 포함되어 있을 수 있다는 메시지가 나타나면 예를 클릭합니다.

 

3. 파일 메뉴에서 닫기를 클릭합니다.

 

4. 파일 메뉴에서 열기를 클릭합니다.

5. 저장한 .slk 파일을 선택하고 열기를 클릭합니다.

참고  .slk 파일을 보기 위해 파일 형식 목록에서 모든 파일을 클릭해야 하는 경우도 있습니다.

파일 메뉴에서 다른 이름으로 저장을 클릭합니다.

 

6. 파일 형식 상자에서 Microsoft Excel 통합 문서를 클릭한 다음 저장을 클릭합니다.
참고  이 형식은 현재 워크시트만 저장하므로 손상된 파일을 반복해서 열어 각 워크시트를 따로 저장해야 합니다.

 

HTML(Hypertext Markup Language) 형식으로 파일 저장

 

손상된 Microsoft Excel 파일을 열 수 있는 경우 다음과 같이 파일을 HTML 형식으로 저장하고 닫은 다음 파일을 다시 열면 파일을 "필터링"할 수 있습니다.

 

1. 파일 메뉴에서 다른 이름으로 저장을 클릭합니다. 파일 형식 목록에서 웹 페이지 (*.htm, *.html)를 클릭합니다.

2. 저장에서 전체 통합 문서를 클릭한 다음 저장을 클릭합니다.

 

3. 파일을 닫습니다.

4. 파일을 Excel에서 다시 엽니다.

 

5. 파일 메뉴에서 다른 이름으로 저장을 클릭합니다. 파일 형식 목록에서 Microsoft Excel 통합 문서를 클릭합니다. 원본을 덮어쓰지 않고 "필터링된" 새 복사본을 만들 수 있도록 파일 이름을 변경합니다.
참고  HTML 형식으로 저장하면 일부 기능을 사용하지 못할 수도 있습니다.

 

Excel에서 파일을 열 수 없는 경우

 

Excel에서 다시 계산 옵션을 수동으로 설정

 

1. Excel을 시작한 다음 화면에 열려 있는 통합 문서가 없으면 빈 통합 문서를 엽니다.

 

2. 도구 메뉴에서 옵션을 클릭합니다.

3. 계산 탭을 클릭합니다.

 

4. 계산 탭에서 수동을 클릭한 다음 확인을 클릭합니다.

5. 파일 메뉴에서 열기를 클릭하고 파일을 엽니다.

 

외부 참조를 사용하여 손상된 파일에 연결

 

이 방법은 통합 문서에서 수식이나 값을 제외한 데이터만 가져옵니다.

 

1. 파일 메뉴에서 열기를 클릭하고 현재 폴더에서 손상된 파일이 있는 폴더로 이동한 다음 취소를 클릭합니다.

 

2. 파일 메뉴에서 새로 만들기를 클릭하고 통합 문서를 클릭한 다음 확인을 클릭합니다.

3. 새 통합 문서의 셀 A1에 =파일 이름!A1을 입력합니다. 여기서 파일 이름은 손상된 통합 문서의 이름입니다. 시트 선택 대화 상자가 나타나면 적절한 시트를 선택하고 확인을 클릭합니다.

셀 A1을 선택하고 편집 메뉴에서 복사를 클릭합니다. 그런 다음 손상된 파일에서 데이터가 포함된 셀 범위와 거의 같은 크기의 영역을 선택하고 편집 메뉴에서 붙여넣기를 클릭합니다.

셀 범위가 선택된 상태에서 편집 메뉴의 복사를 클릭합니다.

 

4. 편집 메뉴에서 선택하여 붙여넣기를 클릭하고 값을 클릭한 다음 확인을 클릭합니다.

5. 이 단계에서는 손상된 파일에 대한 연결이 제거되고 데이터만 남습니다.

 

Microsoft Word 또는 워드패드에서 파일 열기

 

Microsoft Excel 변환기가 설치되어 있으면 Excel 통합 문서를 Microsoft Word에서 열 수도 있습니다. 파일이 Word에서 열리면 모듈 시트, 대화 상자 시트, 차트 시트, 매크로 시트 또는 포함된 모든 차트를 복구할 수 없게 됩니다. 또한 셀 수식을 복구할 수 없으며 셀에 있는 수식의 결과만 복구할 수 있습니다.

 

Excel 통합 문서를 워드패드에서도 열 수 있습니다. 파일이 열려 있으면 모듈과 클래스 모듈의

Microsoft Visual Basic® 코드를 복구할 수 있습니다. "Sub" 또는 "Function"을 검색하여 코드를 찾습니다.

 

Microsoft Excel Viewer에서 파일 열기

 

Microsoft Excel Viewer가 설치되어 있으면 Microsoft Excel 통합 문서를 Microsoft Excel Viewer에서 열고 셀을 복사하여 새 통합 문서로 붙여 넣을 수 있습니다. 그러나 모듈 시트, 대화 상자 시트, 차트 시트 또는 매크로 시트는 복구할 수 없습니다. 또한 모든 셀 수식을 복구할 수 없으며 현재 셀에 있는 수식의 결과만 복구할 수 있습니다.

 

Excel 97/2000 Viewer: 스프레드시트 파일(영문)을 다운로드하거나 자세한 내용을 보려면 Microsoft Office Online의 다운로드를 참고하십시오.

 

차트가 손상된 파일에 연결된 경우 매크로를 사용하여 데이터 추출

모듈 시트에 다음 매크로 코드를 입력합니다. 

 Sub GetChartValues97() 

 Dim NumberOfRows As Integer
 Dim X As Object
 Counter = 2
 
 ' Calculate the number of rows of data.
 NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)
 
 Worksheets("ChartData").Cells(1, 1) = "X Values"
 
 ' Write x-axis values to worksheet.
 With Worksheets("ChartData")
 .Range(.Cells(2, 1), _
 .Cells(NumberOfRows + 1, 1)) = _
 Application.Transpose(ActiveChart.SeriesCollection(1).XValues)
 End With
 
 ' Loop through all series in the chart and write their values to
 
 
 ' the worksheet.
 For Each X In ActiveChart.SeriesCollection
 Worksheets("ChartData").Cells(1, Counter) = X.Name
 
 With Worksheets("ChartData")
 .Range(.Cells(2, Counter), _
 .Cells(NumberOfRows + 1, Counter)) = _
 Application.Transpose(X.Values)
 End With
 
 Counter = Counter + 1 

 Next
 
 End Sub

 

1. 새 워크시트를 통합 문서에 삽입하고 이름을 ChartData로 바꿉니다.

2. 원본으로 사용하는 데이터 값을 추출할 원본 차트를 선택합니다.
참고  차트는 워크시트 또는 별도의 차트 시트에 포함될 수 있습니다.

 

3. GetChartValues97 매크로를 실행합니다.

4. 차트의 데이터가 ChartData 워크시트에 놓입니다.

 

파일 백업 복사본 저장

 

대비 차원에서 파일을 자주 저장하고 저장할 때마다 백업 복사본을 만들 수 있습니다. 다른 이름으로 저장 대화 상자(파일 메뉴, 다른 이름으로 저장 명령)에서 도구를 클릭하고 일반 옵션을 클릭한 다음 백업 파일 항상 만들기 확인란을 선택합니다. 그러면 잘못해서 원본이 삭제되거나 손상될 경우 파일의 양호한 복사본에 액세스할 수 있습니다.

 

일정한 간격에 따라 자동으로 복구 파일을 만들 수 있습니다. 옵션 대화 상자(도구 메뉴, 옵션 명령)의 저장 탭에서 자동 저장 간격 확인란을 선택한 다음 분 단위 숫자를 지정합니다. 자동 저장 위치 상자에서 복구 파일을 저장할 위치를 지정합니다. 자동 저장 사용 안 함 확인란(통합 문서 옵션)이 선택되지 않았는지 확인합니다.

'프로그램 언어 > 펌글' 카테고리의 다른 글

eclipse-galileo + jadClipse 설정  (0) 2012.02.17
jstl function 샘플~  (0) 2011.03.28
POI 옵션  (0) 2010.11.02
Eclipse에서 Swing 개발 & EXE 만들기  (1) 2010.03.17
모달 팝업창 제어하기  (0) 2010.02.21
JSTL 1.1 스펙에 추가된  태그라이브러리로  함수를~~

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
 
<html>
<body>
<c:set var="name" value="Welcome to 한국  "/>
<c:set var="name" value="${fn:trim(name)}"/><br/>
<c:out value="name: ${name}"/><br/><br/>
<c:out value="length(name): ${fn:length(name)}"/><br/>
<c:out value="toUpperCase(name): ${fn:toUpperCase(name)}"/><br/>
<c:out value="toLowerCase(name): ${fn:toLowerCase(name)}"/><br/>
<c:out value="substring(name,3,7): ${fn:substring(name,3,7)}"/><br/>
<c:out value="substringBefore(name,'come'): ${fn:substringBefore(name, 'come')}"/><br/>
<c:out value="substringAfter(name,'Welcome'): ${fn:substringAfter(name, 'Welcome')}"/><br/>
<c:out value="replace(name, '한국', 'Korea'): ${fn:replace(name, '한국', 'Korea')}"/><br/>
<c:out value="indexOf(name, 'to'): ${fn:indexOf(name,'to')}"/><br/>
<c:out value="contains(name, 'welcome'): ${fn:contains(name, 'welcome')}"/><br/>
<c:out value="containsIgnoreCase(name, 'welcome'): ${fn:containsIgnoreCase(name, 'welcome')}"/><br/>
<c:out value="startsWith(name, 'Welcome'): ${fn:startsWith(name, 'Welcome')}"/><br/>
<c:out value="endsWith(name, '한국'): ${fn:endsWith(name, '한국')}"/><br/>
<c:remove var="name"/>
 
<c:out value="---------------------------------"/><br/>
<c:set var="fruits" value="사과,배,참외,수박,복숭아"/>
<c:set var="fruits_arr" value="${fn:split(fruits,',')}"/>
<c:forEach var="x" items="${fruits_arr}">
    <c:out value="${x}"/><br/>
</c:forEach>
<c:out value="${fn:join(fruits_arr, ',')}"/><br/>
</body>
</html>
 
결과:
 
name: Welcome to 한국
 
length(name): 13
toUpperCase(name): WELCOME TO 한국
toLowerCase(name): welcome to 한국
substring(name,3,7): come
substringBefore(name,'come'): Wel
substringAfter(name,'Welcome'): to 한국
replace(name, '한국', 'Korea'): Welcome to Korea
indexOf(name, 'to'): 8
contains(name, 'welcome'): false
containsIgnoreCase(name, 'welcome'): true
startsWith(name, 'Welcome'): true
endsWith(name, '한국'): true
---------------------------------
사과

참외
수박
복숭아
사과,배,참외,수박,복숭아

출처 : http://javajax.tistory.com/

'프로그램 언어 > 펌글' 카테고리의 다른 글

eclipse-galileo + jadClipse 설정  (0) 2012.02.17
엑셀파일 복구하기  (0) 2011.11.02
POI 옵션  (0) 2010.11.02
Eclipse에서 Swing 개발 & EXE 만들기  (1) 2010.03.17
모달 팝업창 제어하기  (0) 2010.02.21
HSSFWorkbook wb = new HSSFWorkbook(); // 신규 workbook 생성
HSSFSheet s = wb.createSheet(); // sheet 생성
HSSFRow r = null; // row 객체의 레퍼런스 선언
HSSFCell c = null; // cell 객체의 레퍼런스 선언
HSSFCell c2 = null; // cell 객체의 레퍼런스 선언

HSSFCellStyle label = wb.createCellStyle(); // 제목 스타일
HSSFCellStyle header = wb.createCellStyle(); // 헤더 스타일
HSSFCellStyle data = wb.createCellStyle(); // 데이터셀 스타일
HSSFCellStyle dataLeft = wb.createCellStyle(); // 데이터셀 스타일

HSSFFont lf = wb.createFont(); // 제목 폰트스타일
HSSFFont df = wb.createFont(); // 데이터셀 폰트스타일

/* 제목의 폰트와 스타일 지정 */
lf.setFontHeightInPoints ((short) 14); // 폰트 크기
lf.setColor (lf.COLOR_NORMAL); // 검정색
lf.setBoldweight (lf.BOLDWEIGHT_BOLD);
lf.setFontName ("굴림체"); // 굴림체

label.setBorderTop (label.BORDER_THIN);
label.setBorderBottom (label.BORDER_THIN);
label.setBorderLeft (label.BORDER_THIN);
label.setBorderRight (label.BORDER_THIN);
label.setFont (lf); // 제목 폰트스타일 지정
label.setAlignment (label.ALIGN_CENTER); // 가운데 정렬
label.setVerticalAlignment (label.VERTICAL_CENTER); // 가운데 정렬(세로)

/* 헤더와 데이터셀의 폰트 및 스타일 지정 */
df.setFontHeightInPoints ((short) 9); // 폰트 크기 지정
df.setFontName ("굴림체"); // 굴림체

header.setBorderTop (header.BORDER_THIN);
header.setBorderBottom (header.BORDER_THIN);
header.setBorderLeft (header.BORDER_THIN);
header.setBorderRight (header.BORDER_THIN);

header.setFillPattern ((short) 1);
header.setFillForegroundColor (df.PALE_BLUE); // 배경색 지정
header.setAlignment (header.ALIGN_CENTER);
header.setVerticalAlignment (header.VERTICAL_CENTER);
header.setFont (df); // 헤더의 폰트스타일 지정


/* sheet의 이름 지정 (영문으로 할것) */
wb.setSheetName (0,"CMTS");

/* 제목 삽입 */
r = s.createRow ((short)0);
r.setHeight ((short) 0x250);

c = r.createCell ((short) 0);
c.setCellStyle (label);
c.setEncoding (c.ENCODING_UTF_16);
c.setCellValue ("지역별 CMTS 현황보고서");///////제목

Region region = new Region (0, (short) 0, 0, (short) 4); // 5 cell 합병 (데이터셀의 크기에 맞춰서 수정)
s.addMergedRegion (region);

/* 헤더 삽입 */
r = s.createRow ((short) 1);
r.setHeight ((short) 0x150); // row 높이 설정

c = r.createCell ((short) 0);
c.setCellStyle (header);
c.setEncoding (c.ENCODING_UTF_16);
c.setCellValue ("사업소명");
s.setColumnWidth ((short) 0, (short) ((70) / ((double) 1 / 60))); // cell의 폭 설정

c = r.createCell ((short) 1);
c.setCellStyle (header);
c.setEncoding (c.ENCODING_UTF_16);
c.setCellValue ("분배센터명");
s.setColumnWidth ((short) 1, (short) ((70) / ((double) 1 / 50)));

c = r.createCell ((short) 2);
c.setCellStyle (header);
c.setEncoding (c.ENCODING_UTF_16);
c.setCellValue ("CMTS명");
s.setColumnWidth ((short) 2, (short) ((100) / ((double) 1 / 80)));


c = r.createCell ((short) 3);
c.setCellStyle (header);
c.setEncoding (c.ENCODING_UTF_16);
c.setCellValue ("시간");
s.setColumnWidth ((short) 3, (short) ((100) / ((double) 1 / 80)));

c = r.createCell ((short) 4);
c.setCellStyle (header);
c.setEncoding (c.ENCODING_UTF_16);
c.setCellValue ("CM수");
s.setColumnWidth ((short) 4, (short) ((190) / ((double) 1 / 50)));

  //System.out.println("rsVec:"+rsVec+":");

if (rsVec != null)
{

String[] rowdata ;

for (rownum = (short) 2; rownum < rsVec.size() + 2; rownum++)
{
rowdata = (String[])rsVec.elementAt(rownum-2);
r = s.createRow (rownum); // row 생성
r.setHeight ((short) 0x139); // row 높이 설정

c = r.createCell ((short) 0);
c.setCellStyle (data);
c.setEncoding (c.ENCODING_UTF_16); // 한글 출력을 위해 반드시 필요
c.setCellValue (rowdata[0]);
//System.out.println("rowdata[0]:"+rowdata[2]+":");
c = r.createCell ((short) 1);
c.setCellStyle (data);
c.setEncoding (c.ENCODING_UTF_16); // 한글 출력을 위해 반드시 필요
c.setCellValue (rowdata[1]);

c = r.createCell ((short) 2);
c.setCellStyle (data);
c.setEncoding (c.ENCODING_UTF_16); // 한글 출력을 위해 반드시 필요
c.setCellValue (rowdata[2]);

c = r.createCell ((short) 3);
c.setCellStyle (dataLeft);
c.setEncoding (c.ENCODING_UTF_16); // 한글 출력을 위해 반드시 필요
c.setCellValue (rowdata[3]);

c = r.createCell ((short) 4);
c.setCellStyle (dataLeft);
c.setEncoding (c.ENCODING_UTF_16); // 한글 출력을 위해 반드시 필요
c.setCellValue (rowdata[4]);



}
}

'프로그램 언어 > 펌글' 카테고리의 다른 글

eclipse-galileo + jadClipse 설정  (0) 2012.02.17
엑셀파일 복구하기  (0) 2011.11.02
jstl function 샘플~  (0) 2011.03.28
Eclipse에서 Swing 개발 & EXE 만들기  (1) 2010.03.17
모달 팝업창 제어하기  (0) 2010.02.21
Sun's Swing Tutorial
http://java.sun.com/docs/books/tutorial/uiswing/components/index.html
이 튜토리얼만 있으면 기본적인 Java 개념만 있으면 쉽게 Swing을 시작할 수 있습니다.
저도 갑작스레 GUI 개발을 해야됐을때 많은 도움을 받았습니다.

Eclipse Swing plugin- Jigloo
Jigloo는 이클립스에서 GUI 개발을 쉽게 할 수 있도록 도와줍니다. Jigloo가 없었다면 컴포넌트 위치잡다가 포기했을지도 모릅니다.

설치
이클립스에서 "Help->Software Updates->Find and Install"에서
remote site에 http://cloudgarden1.com/update-site를 추가합니다.

JSmooth - EXE wrapper
http://jsmooth.sourceforge.net/
JSmooth는 Java 결과물을 exe 실행파일로 편하게 만들어줍니다. UI 상에 약간의 버그가 있지만 생성된 실행파일은 문제없더군요.

초간단 사용법
  1. Skeleton
    1. Skeleton Chooser > Windowed Chooser
  2. Executable
    1. Executable Binary에 .exe 파일명
  3. Application
    1. Classpath 소스 파일(.jar) 추가
    2. Main class main() 함수가 있는 파일 선택
  4. JVM Selection
    1. Minimum JVM version JVM 최소 버전
  5. 툴바에서 compile 버튼 클릭




출처 - http://woojongwon.tistory.com/trackback/37

'프로그램 언어 > 펌글' 카테고리의 다른 글

eclipse-galileo + jadClipse 설정  (0) 2012.02.17
엑셀파일 복구하기  (0) 2011.11.02
jstl function 샘플~  (0) 2011.03.28
POI 옵션  (0) 2010.11.02
모달 팝업창 제어하기  (0) 2010.02.21

<!--

모달창은 쉽게 말해 alert()창 처럼 호출되면 창을 닫기 전 까지 부모창에 포커스를 보낼 수 없는 창을 말합니다. 기능은 좋은데..아쉽게도 아직은 브라우져 버전에 영향을 받습니다.6.0이던가..msdn을 찾아보세요..본지가 오래되서..가물합니다. 아뭏든 윈도우 익스플로러에서만 되고 그것도 상위 버전에서만 되기 때문에 조금 문제가 있긴 합니다만..1년정도만 지나면 거의 운영체제가 2000이상은 될듯하니 지금 알아두면 좋은 팁이 아닐까 생각합니다.

 

////////////////////////////////////////////////////////////////////////////////

1. modal_dialog.html

///////////////////////////////////////////////////////////////////////////////

-->

<HEAD>
<HTML>
<HEAD>
<TITLE>모달 다이알로그 샘플입니다</TITLE>
<SCRIPT>
var userName="";
function callModalWindow()                                            
{
 window.showModalDialog("modal_window.html", window);
 //window.showModalessDialog("myDialog.html", window);//모달 기능 없이 다이알로그 오픈..
}

function changeText()
{
  inputText.innerText = userName;
}

//구현하고 싶은 기타 스크립트를 추가 하시면 됩니다...
function kkk()
{
 alert('hi~ test~');
}
</SCRIPT>
</HEAD>
<BODY>
<P>아무거나 적어 보세요: <SPAN ID="inputText"
STYLE="color:red;font-size:24">메렁~~</SPAN></P> <INPUT TYPE="button"
VALUE="모달창열기" onclick="callModalWindow()">

</BODY>
</HTML>

 

<!--

////////////////////////////////////////////////////////////////////////////////

2. modal_window.html

///////////////////////////////////////////////////////////////////////////////

-->


<HTML>
<HEAD>
<SCRIPT>
function insertText()
{//입력한 값 적용
  var tempName = dialogArguments;
  tempName.userName = testText.value;
  tempName.changeText();
}

function modalCancel()
{
  var tempName = dialogArguments;
  tempName.changeText();
}
function parentClose(){
 window.top.close();
}
function newWin(){
 window.open("test.html","","");
}
function modalclose(){
 self.close();
}

</SCRIPT>
</HEAD>
<BODY>
아무거나 적어보세요 :
<INPUT Type="text" ID=testText><BR><BR>
<INPUT VALUE="입력적용" TYPE=button onclick="insertText();"><BR>
<INPUT VALUE="입력적용하고모달창닫기" TYPE=button onclick="insertText();window.close();"><BR>
<INPUT VALUE="입력적용안하고모달창만닫기" TYPE=button onclick="modalCancel();window.close();"><BR>
<INPUT VALUE="모달에서새로운창열기" TYPE=button onclick="newWin();">
</BODY>
</HTML>

<!--

응용하면 모달창에서 새로 연 창에서 다시 최상위 부모창의 메소드를 이용한다던지 값을 넘길 수가 있습니다.

키포인트는 일반적인 팝업이라면 자식을 연 부모창을 찾아 갈때는 opener. 이라고 해주는데 모달창의 경우는 dialogArguments.이라고 합니다. 쉽게 설명하면 만약 내가 부모창에서 자식창을 열고 그 자식창에서 부모창의 함수를 호출할 경우에 opener.aaa() 라는 식으로 호출하는데 부모창에서 자식창을 모달다이알로그로 열었다면 자식창은 모달창이므로 자신을 연 부모창의 함수를 호출할경우에는 dialogArguments.aaa() 라고 해주면 됩니다.

 

예를들면..

상황)부모창 a.html 모달창 b.html 모달창에서 연 새창 c.html

 

a.html에서 자식창으로 모달다이알로그 b.html을 열고 다시 b.html에서 c.html을 열어서 3개의 창이 나왔습니다.

여기서 c.html이 a.html에 있는 임의의 스크립트 aaa()라는걸 호출하고 싶다면 다음과 같이 해줍니다.

c.html의 부모창은 opener가 되겠죠.

b.html의 부모창은 dialogArguments가 되겠죠.

따라서 다음과 같이 됩니다.

opener.dialogArguments.aaa();//

-->

 

 

출처 : http://cafe.naver.com/lunchtime/217

'프로그램 언어 > 펌글' 카테고리의 다른 글

eclipse-galileo + jadClipse 설정  (0) 2012.02.17
엑셀파일 복구하기  (0) 2011.11.02
jstl function 샘플~  (0) 2011.03.28
POI 옵션  (0) 2010.11.02
Eclipse에서 Swing 개발 & EXE 만들기  (1) 2010.03.17

+ Recent posts