JScrollPane 사용 방법 예제
JScrollPane은 표시된 구성 요소가 JFrame.스크롤 bar를 만드는 코드입니다 매우 간단합니다. 가장 널리 사용되는 용도는 .
import javax.swing.JFrame;Output
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class JScrollPaneTest {
//20행, 50열 텍스트 상자
JTextArea jta = new JTextArea(20, 50);
public JScrollPaneTest(){
JFrame f = new JFrame("JScrollPaneExample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
f.setVisible(true);
JScrollPane jsp = new JScrollPane(jta);
f.add(jsp, BorderLayout.CENTER);
f.pack();
}
public static void main(String[] args) {
new JScrollPaneTest();
}
}
스크롤 막대는 텍스트가 창의 크기를 초과하는 경우 가로 막대와 세로 막대를 모두 만듭니다.
JScrollBar 및 JViewPort
A JScrollPane은 두 클래스를 결합합니다. JScrollBar et JViewPort et 후자의 인스턴스를 사용하여 사용자에게 표시되는 부품을 관리합니다. 수직 및 수평 엘리베이터를 기반으로 치수와 위치를 담당합니다.
다음은 두 스크롤바(가로 및 세로)를 모두 검색하는 코드입니다.
다음은 두 스크롤바(가로 및 세로)를 모두 검색하는 코드입니다.
JScrollBar vjsp = jsp.getVerticalScrollBar();
JScrollBar hjsp = jsp.getHorizontalScrollBar();
뷰포트는 getViewport(). 이 예제에서는 JScrollPane에 이미지를 추가하고 setViewPosition(포인트 p).
import java.awt.Point;Output
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JViewport;
public class JScrollPaneTest {
public JScrollPaneTest(){
JFrame f = new JFrame("JScrollPaneExample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
f.setVisible(true);
f.setSize(300,300);
ImageIcon 이미지 = new ImageIcon("Fleur.jpg");
JLabel pimage = 새로운 JLabel();
pimage.setIcon(이미지);
JScrollPane jsp = new JScrollPane(pimage);
JViewport jvp = 새로운 JViewport();
jvp = jsp.getViewport();
jvp.setViewPosition(new Point(30,200));
f.add(jsp);
}
public static void main(String[] args) {
new JScrollPaneTest();
}
}
설정 변경
예를 들어 창이 넓으면 필요하지 않기 때문에 두 개의 막대가 사라집니다. 창의 높이를 줄이면 창이 다시 나타납니다. 이는 각 bar에 대한 스크롤 패널 정책에 의해 제어됩니다.
JScrollPane에는 생성 시 설정을 변경할 수 있는 두 개의 생성자가 있습니다.
- JScrollPane(Component c, int 세로, int 가로)
- JScrollPane(int 세로, int horizontal)
두 가지 방법으로 두 막대를 만든 후 표시 정책을 변경할 수도 있습니다. setHorizontalScrollBarPolicy(), setVerticalScrollBarPolicy().
VERTICAL_SCROLLBAR_AS_NEEDED HORIZONTAL_SCROLLBAR_AS_NEEDED | 기본적으로 스크롤 막대가 나타나고 사라지는 경우입니다. |
VERTICAL_SCROLLBAR_ALWAYS HORIZONTAL_SCROLLBAR_ALWAYS | 항상 스크롤 막대를 표시합니다. |
VERTICAL_SCROLLBAR_NEVER HORIZONTAL_SCROLLBAR_NEVER | scrollbars 는 항상 숨겨집니다. |
다음 명령문은 JScrollPane 바로 뒤에 첫 번째 JTextArea 예제의 코드에 추가됩니다.
참조:jsp.setVerticalScrollBarPolicy(jsp. VERTICAL_SCROLLBAR_ALWAYS);
< / pre> 출력 :
Oracle 문서: JScrollPane
Oracle 문서: JViewPort
http://www2.htw-dresden.de/~beck/JAVA11/SWING/scrolling.html