Texte unterstreichen?
-
Hi zusammen,
ich benötige ein Textfeld mit Scrollleiste (Text ist lang), in dem man aber Texte unterstreichen, fett machen kann (zur Strukturierung).
Gibts da was? (Kurzer Hinweis würde mir schon genügen!)
Gruß, Tobias
-
ok, ich habs hinbekommen mit:
JEditorPane und JScrollPane, JScrollBar
aber:
meine Scrollbar ist immer ganz unten!
Klappt auch nicht mit:this.add(jScrollPane, BorderLayout.CENTER ); JScrollBar sb = new JScrollBar(); sb.setValue(sb.getMinimum()); jScrollPane.setVerticalScrollBar(sb);
Weiß jmd. was darüber?
Gruß, Tobias
-
weiß keiner, warum die Scrollbar immer unten ist?
-
IIRC musst du im Dokument die Cursorposition setzen.
Bye, TGGC (Der Held ist zurück)
-
hm... und was bedeutet das? (IIRC)
Gruß, Tobias
-
http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=und+was+bedeutet+das%3F+(IIRC)+&meta=
SCNR
Bye, TGGC (Der Held ist zurück)
-
Ok, danke!
Aber:
Wo stelle ich die Position denn ein?In einer Methode makeView, die vom Konstruktor aufgerufen wird...
Oder darf ich das nicht im Konstruktor machen??
Der Text wird dort auch eingefügt (natürlich davor!)Gruß, Tobias
-
Hi, vielleicht hilft ja etwas Source-Code weiter?
Es handelt sich um diese Stelle:jScrollPane.setVerticalScrollBar(sb);
..Ich hab es auch schon mit 0, 100, getMaxVale, getMinVal versucht...
Gruß,Tobias// HelpFrame // - Hilfe für SpApplet import java.awt.Frame; import java.awt.BorderLayout; import java.awt.Scrollbar; import java.awt.TextArea; import java.awt.Color; import java.io.*; import java.awt.event.*; import java.awt.Button; import javax.swing.*; import java.net.URL; public class HelpFrame extends Frame implements WindowListener, ActionListener { // ======================================================================= // Konstruktor, etc... // ======================================================================= public HelpFrame(String LANG) { this.LANG = LANG; this.filename = prefix+LANG; // Hilfe-Datei Einlesen try { readHelpFile(filename); } catch(Exception e) {} // Ansicht basteln makeView(); // Einstellungen this.setResizable(false); this.addWindowListener(this); this.setTitle(lines[0]); } public void start() { this.setSize( 600,450 ); this.setResizable(false); this.setVisible(true); } // Hilfe-Datei Einlesen public void readHelpFile(String filename) throws Exception { nLines = 0; String line; // Datei öffnen //BufferedReader bf; //File f = new File(filename); //FileInputStream in = new FileInputStream(f); //bf = new BufferedReader(new InputStreamReader(in)); // Datei Öffnen aus JAR-Datei URL url = getClass().getResource(filename); BufferedReader bf = new BufferedReader(new InputStreamReader(url.openStream())); // Einlesen line = bf.readLine(); while( line!=null ) { lines[nLines++] = line; line = bf.readLine(); } } // Ansicht basteln public void makeView() { setLayout(new BorderLayout()); // Füllen String temp, ta; ta=""; for(int i=1;i<nLines;i++) { // erste Zeile ist der Titel! temp = lines[i]+"<br>\n"; if( temp.charAt(0)=='|' ) { temp = "<u><b>"+temp.substring(1)+"</u></b>"; } else if( temp.charAt(0)=='%' ) { temp = "<b>"+temp.substring(1)+"</b>"; } else if( temp.charAt(0)=='=' ) { temp = "<i>"+temp.substring(1)+"</i>"; } ta+=temp; } // Pane JScrollPane jScrollPane = new JScrollPane(); JEditorPane jep = new JEditorPane("text/html",ta); jep.setBackground(Color.white); jep.setForeground(Color.black); jep.enableInputMethods(false); jep.setEditable(false); jScrollPane.getViewport().add(jep, null); this.add(jScrollPane, BorderLayout.CENTER ); JScrollBar sb = new JScrollBar(); sb.setValue(sb.getMinimum()); jScrollPane.setVerticalScrollBar(sb); // Button close = new Button("Fenster schliessen"); close.addActionListener(this); this.add(close, BorderLayout.SOUTH ); } // Fenster schliessen public void closeWindow() { this.setVisible(false); this.dispose(); } // ======================================================================= // ActionListener // ======================================================================= public void actionPerformed(ActionEvent e) { if( close == e.getSource() ) { closeWindow(); } } // ======================================================================= // WindowListener // ======================================================================= public void windowClosing( WindowEvent event ) { closeWindow(); } public void windowClosed( WindowEvent event ) {} public void windowDeiconified( WindowEvent event ) {} public void windowIconified( WindowEvent event ) {} public void windowActivated( WindowEvent event ) {} public void windowDeactivated( WindowEvent event ) {} public void windowOpened( WindowEvent event ) {} // ======================================================================= // Globale Variablen // ======================================================================= // Variablen für den Dateinamen static String prefix = "hilfetext."; String LANG, filename; // Hilfe-Datei int nLines; static int maxLines = 999; String[] lines = new String[maxLines]; Button close; }
-
http://www.c-plusplus.net/forum/viewtopic.php?t=59070
Bye, TGGC (Der Held ist zurück)
-
ok, danke vielmals, aber:
D.h. jetzt, dass ich eine TextPane nehmen muss und das nicht anders klappt?
Ist da nicht irgendwie ein Haken drinnen?
Gruß, Tobias
-
Hi,
diese Funktion stelle ja JEditorPane auch zur Verfügung..
Wenn ichdas jetzt aber mache, also:
jep.setCaretPosition(0);
Dann passiert nix anderes, als das die Scrollbar immer noch ganz unten ist!
Scheint also bei mir doch scheinbar nicht daran zu liegen!
Has tnicht zufällig irgendeine Idee???Gruß, Tobias
-
Hi,
ich glaub, ich hab da was nicht richtig kompiliert...
Auf jeden Fall klappt es jetzt mit dem setCaretP...
Danke!!!
Gruß,
Tobias