Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.Element;
import javax.swing.text.MutableAttributeSet;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;
/**
* @author Darimont<br>
* @version 1.0<br>
*/
public class JTextPaneTest extends JFrame {
private final JButton btnFormat, btnPrintFormat;
private final JTextPane textPane;
private final JScrollPane scrollPane;
public JTextPaneTest() {
super("JTextPaneTest");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final ActionHandler actionHandler = new ActionHandler();
//Dieser Button Formatiert den selektierten Text Fett
btnFormat = new JButton("Format");
btnFormat.addActionListener(actionHandler);
//Dieser Butotn gibt für jedes Zeichen in der Selektion dessen
//Formatierung aus.
btnPrintFormat = new JButton("Print Format");
btnPrintFormat.addActionListener(actionHandler);
scrollPane = new JScrollPane();
textPane = new JTextPane();
textPane.setPreferredSize(new Dimension(320, 240));
scrollPane.getViewport().add(textPane);
getContentPane().add(scrollPane, BorderLayout.NORTH);
getContentPane().add(btnFormat, BorderLayout.CENTER);
getContentPane().add(btnPrintFormat, BorderLayout.SOUTH);
pack();
setVisible(true);
}
public static void main(final String[] args) {
new JTextPaneTest();
}
class ActionHandler implements ActionListener {
public void actionPerformed(final ActionEvent e) {
final Object src = e.getSource();
if (src == btnFormat) {
formatSelectedText();
} else if (src == btnPrintFormat) {
printFormatOfSelectedText();
}
}
/**
*
*/
private void printFormatOfSelectedText() {
System.out.println("printFormatOfSelectedText");
final int startPos = textPane.getSelectionStart();
final int endPos = textPane.getSelectionEnd();
StyledDocument doc = (StyledDocument) textPane.getDocument();
final MutableAttributeSet testSet = new SimpleAttributeSet();
StyleConstants.setBold(testSet, true);
try {
for (int i = startPos; i < endPos; i++) {
final Element element = doc.getCharacterElement(i);
if (element.getAttributes().containsAttributes(testSet)) {
System.out.println(doc.getText(i, 1) + " is bold!");
}
}
} catch (final BadLocationException e) {
e.printStackTrace();
}
}
/**
*
*/
private void formatSelectedText() {
System.out.println("formatSelectedText");
final MutableAttributeSet attributeSet = new SimpleAttributeSet();
StyleConstants.setBold(attributeSet, true);
final int startPos = textPane.getSelectionStart();
final int endPos = textPane.getSelectionEnd();
final StyledDocument doc = (StyledDocument) textPane.getDocument();
doc.setCharacterAttributes(
startPos,
endPos - startPos,
attributeSet,
true);
}
}
}