の改行属性を変更する方法を知っている人はいJEditorPane
ますか?
JTextPane
s テキストに改行が見つからない( \nでも\rでもない) ため、このテキストの行数を正しく数えることができません。\nの改行属性を変更したいと思います。
の改行属性を変更する方法を知っている人はいJEditorPane
ますか?
JTextPane
s テキストに改行が見つからない( \nでも\rでもない) ため、このテキストの行数を正しく数えることができません。\nの改行属性を変更したいと思います。
javax.swing.text.Utilities.getRowStart()/getRowEnd()
行数をカウントするために使用します。
実際、テキストが折り返されると、文字は挿入されません。ラップがどのように機能するかを理解するには、http://java-sl.com/wrap.htmlを参照してください。
この例は私にとってはうまくいきます...
public class TestEditorPane {
public static void main(String[] args) {
new TestEditorPane();
}
public TestEditorPane() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException ex) {
} catch (InstantiationException ex) {
} catch (IllegalAccessException ex) {
} catch (UnsupportedLookAndFeelException ex) {
}
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new EditorPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class EditorPane extends JPanel {
private JEditorPane editor;
public EditorPane() {
setLayout(new GridBagLayout());
editor = new JEditorPane();
editor.setContentType("text/plain");
JButton button = new JButton("Dump");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String text = editor.getText();
String[] parts = text.split(System.getProperty("line.separator"));
// String[] parts = text.split("\n\r");
for (String part : parts) {
if (part.trim().length() > 0) {
System.out.println(part);
}
}
}
});
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 1;
gbc.weighty = 1;
gbc.fill = GridBagConstraints.BOTH;
add(editor, gbc);
gbc.gridx = 0;
gbc.gridy++;
gbc.weightx = 0;
gbc.weighty = 0;
gbc.fill = GridBagConstraints.NONE;
add(button, gbc);
}
}
}
ウィンドウの下では、改行は のよう/n/r
です。システムプロパティline.separator
も使用しましたが、うまくいくようです。