1
현재 다른 스트림에서 들어오는 텍스트를 표시하는 JTextPane이 있습니다. 사용자가 텍스트의 출처를 알 수있는 방법은 각 스트림의 텍스트가 서로 다른 스타일을 사용한다는 것입니다. 다른 텍스트 조각을 걸러 낼 수 있도록 텍스트를 숨길 스타일을 만드는 방법이 있습니까?스타일을 통해 텍스트를 숨길 수 있습니까?
감사합니다.
현재 다른 스트림에서 들어오는 텍스트를 표시하는 JTextPane이 있습니다. 사용자가 텍스트의 출처를 알 수있는 방법은 각 스트림의 텍스트가 서로 다른 스타일을 사용한다는 것입니다. 다른 텍스트 조각을 걸러 낼 수 있도록 텍스트를 숨길 스타일을 만드는 방법이 있습니까?스타일을 통해 텍스트를 숨길 수 있습니까?
감사합니다.
당신은 (가지) 가짜 0 글꼴 크기를 사용하여 구성 요소의 배경을 일치로 할 수 있습니다
는public static void main(String[] args) throws Exception {
JTextPane pane = new JTextPane();
Style regular = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
Style invisible = pane.getStyledDocument().addStyle("invisible", regular);
StyleConstants.setFontSize(invisible, 0);
StyleConstants.setForeground(invisible, pane.getBackground());
pane.getStyledDocument().insertString(pane.getStyledDocument().getLength(),
"Hello, ", null);
pane.getStyledDocument().insertString(pane.getStyledDocument().getLength(),
"cruel ", pane.getStyledDocument().getStyle("invisible"));
pane.getStyledDocument().insertString(pane.getStyledDocument().getLength(),
"world!", null);
pane.setPreferredSize(new Dimension(500, 500));
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.add(pane, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack(); frame.setVisible(true);
}
보이지 않는 문자열의 길이는 위의조차에 영향이하지 않는 것 가시의 컴퍼넌트 간의 간격 그러나 패널에서 복사가 증명됨에 따라 아직 안심할 수 있습니다.
고맙습니다. 그게 내가 찾고있는 것입니다. – Sandro