2015-01-26 8 views
0

우리 프로젝트에서는 이미 Javafx 8 테이블의 "Screenshot"을 사용하여 클래스 노드의 snapshot()을 사용했습니다. snapshot() 함수는 항상 노드/장면 전체의 Screenshot을 가져옵니다. 일반 테이블에서 작동하지만 JFXtras agendatables 및 ControlsFX 스프레드 시트를 사용하고 있으므로 스냅 샷 기능은 스크롤 패널을 사용하여 현재 표시된 테이블의 스크린 샷을 가져오고 나머지 테이블은 그냥 잘라냅니다.전체 (이미지) JFXtras의 스냅 샷 Agendatable/ControlsFX 스프레드 시트 Javafx 8

어떻게 이러한 테이블의 "전체"스냅 샷을 만들 수 있습니까?

+0

본질적으로 스크린 샷에서 스크롤 패널의 뷰포트를 제거하고 싶습니다. 마치 존재하지 않는 것처럼 스크린 샷을 찍으시겠습니까? – tbeernot

+0

스크롤 패널을 사용하면 테이블이 현재 사용자보기로 잘립니다. 그게 바로 테이블의 1/4이 이미지에 존재하는 이유입니다. –

+0

JavaFX에서 Table 컨트롤의 작성자와 이야기했으며 스크롤 패널의 테이블이 보이는 셀에 잘리지 않을 것 같다고 말합니다 . 그래서 당신의 문제는 Agenda와 Spreadsheet가 기본값으로 볼 때 스크롤바를 사용한다는 것입니다. 그러한 방법으로, 스크롤 판이 모든 셀을 표시 할 수있는 경우, 그러한 컨트롤을 완전하게 캡쳐 할 수 있습니다. – tbeernot

답변

0

스크린 샷은 그것이 제안하는 것과 정확히 일치합니다 : 화면의 모습 그대로의 이미지. 노드가 사각형, 테이블, 의제 또는 스프레드 시트에 관계없이 노드가 화면에서 부분적으로 만 볼 수있는 경우 스크린 샷은 보이는 것만 캡처합니다.

다른 동작으로 인해 흥미로운 동작이 발생합니다. 행이 10.000.000 인 테이블이 10 개의 행만 표시하는 스크롤 패널을 통해 표시된다고 가정 해보십시오. 스크린 샷이 갑자기 1.000 배 증가합니다. 해당 스크롤 판 옆 또는 아래에 다른 노드가 표시되면 어디로 갈까요? scrollpane이 커짐에 따라 아래로 내려갈 수 있습니까? 이 스크린 샷을 만들려면 완전히 새로운 레이아웃이 필요하며 실제로 테이블을 캡처 할 때 10.000.000 행을 채 웁니다.

스크롤 판 안의 노드를 더 많이 스크린 샷하려면 스크롤 구획의 크기를 늘려야합니다. Excel과 비교하십시오 : PC 화면의 스크린 샷 만 생성하면 워크 시트의 해당 부분이 표시됩니다. 전체 워크 시트가 필요한 경우 인쇄해야합니다. 그래서 당신이 Agenda/Spreadsheet를 인쇄 할 방법을 찾고 있다고 생각합니다. 그러나 그것은 당신이 묻고있는 질문이 아닙니다.

+0

우리의 주요 목표는 스프레드 시트/Agendatable을 PDF에 추가하는 것입니다. 이것이 스크린 샷을 원했던 이유입니다. 스냅 샷을 만들지 않고도 PDF에 표를 추가 할 수있는 방법에 대한 제안이 있으십니까? –

+0

필자는 JavaFX 녀석들과 논의한 바 있으며 WebView와 비슷한 전용 인쇄 (PrintJob) 방법이 구현되어 있어야합니다. 그런 다음 PDF 또는 이미지로 인쇄하여 문서에 포함 할 수 있습니다. 이 순간 당신은 스크린 샷을 만들어야하고, Agenda의 모든 내용을 원한다면 스크롤 페인이 아무 것도 숨기지 않을 정도로 충분히 높은 해상도로 화면에 표시해야합니다. 내 2560x1600에서 이것이 가능합니다. – tbeernot

+0

나는 JavaFX의 webengine이하는 바에 따라 Agenda (8.0-r4-snapshot)에 시험 인쇄 방법을 추가했습니다. 출력이 내가 원하는 바가 아닌지 확실하지 않습니다. JavaFX에서의 인쇄는 인상적이지 않습니다. 그렇지 않더라도 올바르게 인쇄하지는 않습니다. – tbeernot