2012-04-08 11 views
0
public class Text extends JPanel { 

private String text; 


    public Text() 
    { 
    this.setPreferredSize(new Dimension(20,20)); 
    setFont (new Font(text, Font.PLAIN, 24)); 
    text = ""; 
    } 

    public void showUnderline() 
    { 

    Hashtable<TextAttribute, Object> map = new Hashtable 
    <TextAttribute, Object>(); 

    map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); 
    } 

Das Textobjekt wird in einer anderen Klasse erstellt. In dieser Klasse muss ich es mit der showUnderline-Methode unterstreichen. Die Methode scheint unvollständig zu sein.
Ich fotografiere für den exklusiven Java-Ansatz, also ohne HTML.
Wie verknüpfe ich den Text mit der showUnderline-Methode?Wie unterstreiche ich Text "Text", wenn Text ein Feld ist?

+3

Betrachten Sie die Details zu sagen - ist das Schwingen? Ein JTextArea? JTextPane? Etwas anderes? Was? –

+0

danke, ist das besser? – user1320668

+0

müssen Sie möglicherweise Paint-Methode aufrufen und setzen Sie Ihr Attribut –

Antwort

4

Was meinst du mit "java exklusiven Ansatz, keine HTML bedeutet"? Sie suchen wahrscheinlich nach einem JLabel, und Sie können sehr einfach HTML darin einfügen. Hier ist das erste Ergebnis auf Google:

http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JLabel.html

Es hat ein Beispiel von Text machen verschiedene Farben, Schriftarten und fett oder kursiv gedruckt. Sie könnten wahrscheinlich einfach etwas tun wie:

JLabel label = new JLabel("<u>MY TEXT</u>",JLabel.CENTER); 

Von dort können Sie es platzieren, als ob Sie eine andere JComponent platzieren würden.

Wenn Sie wirklich kein HTML wollen, könnten Sie ein JTextPane verwenden. Hier ein Beispiel:

http://www.exampledepot.com/egs/javax.swing.text/style_hilitewords2.html

+0

+1, HTML ist wirklich der einfachste Weg, dies zu tun. – Jeffrey

+1

'neue JLabel (" MEIN TEXT ", JLabel.CENTER);' Nu-uh, ich denke, es wäre mehr wie .. 'neue JLabel (" MY. ");' Beachten Sie, dass 1) wenn der String nicht mit dem 'html'-Element beginnt, wird er nicht als HTML interpretiert. 2) 'JLabel' Alignment Constraints werden über den Stil in HTML ignoriert. –

Verwandte Themen