GUI Input Farbe ändern

Hatsi09

Hatsi09

Aktives Mitglied
Hallo,

ich arbeite gerade an einem Projekt, wo der Benutzer eine Eingabe tätigt, und sobald er die Leertaste drückt, wird die Eingabe überprüft. Ich habe eine Liste Wörter und eines dieser Wörter in dem Eingabetext vorkommt, soll dieses farbig und fett gemacht werden.
Da dies in einer JTextArea nicht möglich ist, habe ich mir eine Klasse geschrieben, die von JEditorPane erbt. Der Konstruktor der Klasse sieht wie folgt aus:
Konstruktor:
public SyntaxHighlighter()
    {
        this.setFocusable(true);
        this.setEditable(true);
        this.setContentType("text/html");
        this.addKeyListener(new KeyListener() {
            @Override
            public void keyTyped(KeyEvent e) {
                if (e.getKeyCode() == KeyEvent.VK_SPACE)
                {
 
                }
            }

            @Override
            public void keyPressed(KeyEvent e) {
                if (e.getKeyCode() == KeyEvent.VK_SPACE)
                {
                    try
                    {
                        String[] text = getDocument().getText(0, getDocument().getLength()).split(" ");
                        setText(highlightText(text));
                    }
                    catch( BadLocationException ex ) {
                      ex.printStackTrace();
                    }
                }
            }

            @Override
            public void keyReleased(KeyEvent e) {
                
            }         
        });
    }

Die Methode highlightText sieht wiefolgt aus:
highlightText:
public static String highlightText(String[] text)
    {
        StringBuilder sb = new StringBuilder();
        sb.append("<html><body>");
        for (int i=0; i < text.length; i++)
        {
            if (isSchlüsselwort(text[i]))
            {
                String s =  "<font color=\"blue\"><b>" + text[i] + "</b>";
                sb.append(s);
            }
            else
            {
                sb.append(text[i] + " ");
            }
        }
        sb.append("</body></html>");
        return sb.toString();
    }

Die Methode isSchlüsselwort iteriert über die Wörterliste und gleicht mittels equalsIgnoreCase ab, ob der übergebene String in der Liste vorkommt.

Mein Problem ist, das dies nicht so wirklich zuverlässig ist, z.B. wenn ich als erstes ein Wort, welches in der Liste vorkommt, eingebe, wird es nicht gefärbt. Da ich mich mit html nicht so gut auskenne, finde ich leider den Fehler nicht. Es passiert auch, dass Wörter die nicht in der Liste sind, blau werden.
Falls es eine bessere Möglichkeit gibt, das oben beschrieben zu tun, dann bin ich gerne für Vorschläge offen ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JavaFX Checken ob der Input einem festgelegten Format gleicht AWT, Swing, JavaFX & SWT 7
J Event Handling Input auf String testen, Fehlermeldung ausgeben AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
N Input/Output Stream werte in Label anzeigen. AWT, Swing, JavaFX & SWT 6
P JOptionPane input und show Message Dialog AWT, Swing, JavaFX & SWT 5
R SWT TreeViewer neuen Input setzen AWT, Swing, JavaFX & SWT 3
L Swing Input Focus eines JTextFields in einer JList AWT, Swing, JavaFX & SWT 2
T Input-Check bei Textfeldern in Table AWT, Swing, JavaFX & SWT 5
DEvent Je nach Auswahl in Liste entsprechende Input-Elemente anzeig AWT, Swing, JavaFX & SWT 2
M swt - input message box AWT, Swing, JavaFX & SWT 4
bernd Input Dialog AWT, Swing, JavaFX & SWT 2
L Swing Button Farbe ändern/wechseln AWT, Swing, JavaFX & SWT 2
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
L AWT Ändern der Farbe eines BufferedImage mit Farbähnlichkeit AWT, Swing, JavaFX & SWT 5
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 11
F Drag&Drop mit Transparenter Farbe bei PNG AWT, Swing, JavaFX & SWT 0
V Swing für jedes Kästchen eine eigene Farbe AWT, Swing, JavaFX & SWT 2
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
H JFreeChart BarDiagramm Balken der gleichen Serie unterschiedliche Farbe zuordnen AWT, Swing, JavaFX & SWT 2
cool_brivk24 Swing Button Farbe ändern AWT, Swing, JavaFX & SWT 2
R Farbe zu einem Eckpunkt generieren AWT, Swing, JavaFX & SWT 2
MaxG. Swing Farbe von Button beim drücken ändern AWT, Swing, JavaFX & SWT 4
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
A JButton soll durch anklicken die Farbe wechseln AWT, Swing, JavaFX & SWT 8
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
W Farbe des Fensters AWT, Swing, JavaFX & SWT 2
krgewb Swing JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 4
M Ausgabe der HSL oder RGB Zusammensetzung einer Farbe (JColorChooser AWT, Swing, JavaFX & SWT 1
J JavaFX Bestimmte Zellen im TableView ändern (Farbe und Text) AWT, Swing, JavaFX & SWT 1
Z Möglichkeit mit Listerners die Farbe meiner Objekte zu ändern AWT, Swing, JavaFX & SWT 15
K (GUI) JButton Farbe bei druck ändern AWT, Swing, JavaFX & SWT 3
C Arrow Farbe bei JComboBox AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
S Farbe ändern bei der paint-Methode AWT, Swing, JavaFX & SWT 5
V LookAndFeel JSpinner Hintergrund Farbe mit Nimbus LaF AWT, Swing, JavaFX & SWT 0
X mouseover verändert ungewollt die farbe AWT, Swing, JavaFX & SWT 4
D Swing Farbe aus Pixel vom JFrame auslesen AWT, Swing, JavaFX & SWT 17
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
J Swing Farbe wählen ohne JColorChooser 2 AWT, Swing, JavaFX & SWT 23
S Farbe von JButton ändern AWT, Swing, JavaFX & SWT 5
T Jbutton Click farbe ändern AWT, Swing, JavaFX & SWT 4
C AWT Wie setze ich die Farbe "leuchtetgrün"? AWT, Swing, JavaFX & SWT 4
B Swing Button Farbe AWT, Swing, JavaFX & SWT 3
M Hover-Farbe über Hintergrundfarbe legen AWT, Swing, JavaFX & SWT 3
N Farbe abziehen AWT, Swing, JavaFX & SWT 3
R Farbe von Buttons stimmt nicht AWT, Swing, JavaFX & SWT 2
B Cursor Farbe ändern AWT, Swing, JavaFX & SWT 6
Y LookAndFeel JTabbedPane: Tab-Farbe mit Nimbus setzen AWT, Swing, JavaFX & SWT 3
T DefaultTableCellRenderer Farbe bestimmter Zelle ändern AWT, Swing, JavaFX & SWT 2
D JComboBox jedes Item mit einer anderen Farbe AWT, Swing, JavaFX & SWT 10
P JLabel Farbe/Bild ändern aus MouseListener heraus AWT, Swing, JavaFX & SWT 3
P 2D-Grafik Neue Farbe für einen Teilbereich einer Linie? AWT, Swing, JavaFX & SWT 8
K 2D-Grafik Fehler beim Farbe auslesen AWT, Swing, JavaFX & SWT 3
T JTable Zellen Farbe AWT, Swing, JavaFX & SWT 13
D JTabel: Überschrift, Abstand zwischen Tabellen, Spalten-Farbe ändern AWT, Swing, JavaFX & SWT 2
D Swing JTable, Zellen-Farbe über Koordinaten ändern AWT, Swing, JavaFX & SWT 9
N SWT-Widgets in Farbe AWT, Swing, JavaFX & SWT 21
F JButton Text-Farbe bei Disabled AWT, Swing, JavaFX & SWT 2
C Farbe eines ToolTipTextes eines Buttons AWT, Swing, JavaFX & SWT 4
D JTabbedPane - Farbe ändern im Bereich hinter den Reitern AWT, Swing, JavaFX & SWT 2
Q 3D-Grafik Cube Farbe setzen zur Laufzeit. AWT, Swing, JavaFX & SWT 10
I Schrift und Farbe formatieren, und zwar pro Linie... AWT, Swing, JavaFX & SWT 4
A SWT - Farbe von Text auf Label ändern AWT, Swing, JavaFX & SWT 2
M Combobox soll Farbe einer Komponente setzen AWT, Swing, JavaFX & SWT 2
N Swing JEditorPane mit Farbe und Font AWT, Swing, JavaFX & SWT 2
chik Button beschriften und Farbe zufällig anordnen AWT, Swing, JavaFX & SWT 2
S JSlider Track Breite und Farbe AWT, Swing, JavaFX & SWT 2
D SWT TabItem Farbe der Schrift ändern AWT, Swing, JavaFX & SWT 3
L JFreeChart Farbe von Balken AWT, Swing, JavaFX & SWT 5
C Welche Farbe hat die Auswahl in einer JTable? AWT, Swing, JavaFX & SWT 2
O AWT Zeichne mit eigener Farbe AWT, Swing, JavaFX & SWT 3
N Farbe einer einzelnen Zeile einer JTable ändern AWT, Swing, JavaFX & SWT 10
S JSplitPane ändert Farbe nicht AWT, Swing, JavaFX & SWT 4
O Hgr- Farbe einer JTable ändert sich nicht AWT, Swing, JavaFX & SWT 11
V JComboBox - Farbe in der Auswalliste AWT, Swing, JavaFX & SWT 7
GambaJo Farbe eines JFrames AWT, Swing, JavaFX & SWT 2
K Icon auf JButton mit Wechsel der Farbe AWT, Swing, JavaFX & SWT 2
D Farbe bei einem JButton wechseln AWT, Swing, JavaFX & SWT 4
L Farbe des Auswahlrechtecks bei selektierter Tabellenzeile AWT, Swing, JavaFX & SWT 9
M JComboBox Selected-Background Farbe AWT, Swing, JavaFX & SWT 5
K Farbe eines Pixels in einem Bild AWT, Swing, JavaFX & SWT 7
I JLabel Farbe AWT, Swing, JavaFX & SWT 1
L wie setze ich die Farbe des Pfeils in einer JComboBox? AWT, Swing, JavaFX & SWT 5
G Farbe der Markierung einer Componente ändern AWT, Swing, JavaFX & SWT 2
G JOptionPane mit andere Farbe AWT, Swing, JavaFX & SWT 8
G JFrame und Farbe AWT, Swing, JavaFX & SWT 4
M Farbe eines strings in JTextArea AWT, Swing, JavaFX & SWT 2
J JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 2
F Farbe für den Hintergrund eine BorderLayout-Teils AWT, Swing, JavaFX & SWT 5
G Bild mit transparente farbe für den IE6 AWT, Swing, JavaFX & SWT 5
G Farbe ändern bei Klick auf einen Kreis AWT, Swing, JavaFX & SWT 5
B transparente Farbe AWT, Swing, JavaFX & SWT 3
N Die Zeile einer JTable verändert beim klicken ihre Farbe? AWT, Swing, JavaFX & SWT 7
H JButton Farbe verändern AWT, Swing, JavaFX & SWT 4
G Bild a auf Bild b, bestimmte Farbe (zb Weiß) durchsichtig AWT, Swing, JavaFX & SWT 7
G JTable Zeile mit Farbe füllen AWT, Swing, JavaFX & SWT 2
I Farbe aus einem Icon herauslesen AWT, Swing, JavaFX & SWT 5
A JProgressBar: Farbe im Windows Look&Feel ändern. AWT, Swing, JavaFX & SWT 1
E Spalten Farbe ändern AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben