Wie kann ich JTextPane -Zeilenbreaks auf Null -Breiten -Räumen machen?Java

Java-Forum
Anonymous
 Wie kann ich JTextPane -Zeilenbreaks auf Null -Breiten -Räumen machen?

Post by Anonymous »

Ich versuche, einen sehr begrenzten kleinen Texteditor mit Java zu schreiben, um ein kontrollierendes Projekt zu erleichtern, das unser Alphabet auf eine etwas unorthodoxe Weise verwendet. Dieser Editor soll Benutzereingaben mit einem KeyListner filtern und sicherstellen, dass (unter anderem), dass die vor Wörter tippten Whitespaces auch nach LineBreaks angezeigt werden. Aber leider reagiert die JTextPane, mit der ich den Text anzeigen werdeimport javax.swing.JFrame;
import java.awt.Toolkit;

import javax.swing.JLayeredPane;
import javax.swing.SpringLayout;
import javax.swing.JTextPane;
import javax.swing.JLabel;
import java.awt.Font;
import java.awt.Color;

class MainClass
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setContentPane(new OwlishTypingView("Palatino", 36, 24));
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

class OwlishTypingView extends JLayeredPane
{
SpringLayout layout = new SpringLayout();
JTextPane textPane = new JTextPane();
JLabel syllableBuilder = new JLabel();

OwlishTypingView(String typeface, int mainSize, int helperSize)
{
setBackground(Color.WHITE);
setOpaque(true);
setLayout(layout);
syllableBuilder.setFont(new Font(typeface, Font.BOLD, helperSize));
syllableBuilder.setForeground(Color.GRAY);
syllableBuilder.setText(" 1 2 3 4 5 6 Helper test ");
add(syllableBuilder);
textPane.setFont(new Font(typeface, Font.PLAIN, mainSize));
textPane.setText("This is a test to see if linebreaks​ work");
textPane.setEditable(false);
add(textPane);
layout.putConstraint(SpringLayout.NORTH, textPane, syllableBuilder.getPreferredSize().height, SpringLayout.NORTH, this);
layout.putConstraint(SpringLayout.WEST, textPane, 0, SpringLayout.WEST, this);
layout.putConstraint(SpringLayout.EAST, textPane, 0, SpringLayout.EAST, this);
layout.putConstraint(SpringLayout.SOUTH, textPane, 0, SpringLayout.SOUTH, this);
}
}
< /code>
(Der letzte Raum im Test-Text, den ich auf die jTextPane eingeräumt habe, ist tatsächlich ein Platz mit Null Breite und nicht brechens Raum-Duo) < /p>
Ich habe noch keine Ideen, wie man dieses Problem beheben kann, weil sie fast alle Voraussetzungen behoben haben, weil sie die Voraussetzungen, an denen es keine Waffenläden besitzen, von ihnen zu verhindern, dass sie nicht mehr als die Leute, die sie anhalten, von ihnen aufhalten, sie von ihnen zu verhindern. Bisher fand ich eine < /em> Instanz einer Person, die ein ähnliches Problem wie meins hat, aber sie brauchten ihren Text nicht als flexibel außerhalb ihrer Anwendung (ich möchte meine ausgeben, um sie an anderer Stelle zu verwenden) und konnten das Problem daher beheben, indem ich LineBreaks manuell einfügte, und die Verwendung von Null -Breiten -Räumen. Andere Möglichkeiten? Ich müsste einen Editorkit schreiben oder erweitern, so dass er mehr Arten von Räumen versteht als nur die Vanille -Art. Ich weiß jedoch nicht , wie das tun. /> Ich würde mich immer noch für Einblicke in die Ausführung des Editorkit-Tings interessieren, aber ich denke, es gibt keine Dringlichkeit mehr. < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post