Hallo Forum,
habe ein folgendes Problem:
hab ein kleines applet gemacht mit einem textpane in welches ich per optionPane texte einfüge
Es gibt verschiedene buttons:
Bei einem Click auf einen button soll ein option Pane erscheinen, da trag ich text ein, den speichere ich in ne string variable und schreibe die in den textPane. Davor formatiere ich den text z.B. farbe. Bei jedem button ist die formatierung anders. Das einfügen des textes und die formatierung geht soweit das problem ist dass wenn ich neuen text einfüge (mit anderer formatierung) dann wird der text davor mit formatiert(alles hat den format vom zu letzt eingefügten text) Will dass der davor eingefügte text so bleibt wie er ist und nur der neu eingefügte text die dazu gehörige formatierung annimmt
mein quellcode :
ich arbeite mit eclipse
nach dem ich die aktion von button 2 volende wird der text der schriftgröße 18 hatte auf 16 runter gestuft (die größe die bei button 2 eingestellt ist) Umgekehrt das selbe problem : fang ich mit 16 an und will nächsten text 18 haben wird alles 18
habe ein folgendes Problem:
hab ein kleines applet gemacht mit einem textpane in welches ich per optionPane texte einfüge
Es gibt verschiedene buttons:
Bei einem Click auf einen button soll ein option Pane erscheinen, da trag ich text ein, den speichere ich in ne string variable und schreibe die in den textPane. Davor formatiere ich den text z.B. farbe. Bei jedem button ist die formatierung anders. Das einfügen des textes und die formatierung geht soweit das problem ist dass wenn ich neuen text einfüge (mit anderer formatierung) dann wird der text davor mit formatiert(alles hat den format vom zu letzt eingefügten text) Will dass der davor eingefügte text so bleibt wie er ist und nur der neu eingefügte text die dazu gehörige formatierung annimmt
mein quellcode :
Java:
package DragAndDrop;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
public class draganddrop extends JApplet {
/**
* Create the applet.
*/
public draganddrop() {
getContentPane().setLayout(null);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(25, 44, 190, 215);
getContentPane().add(scrollPane);
final JTextPane textPane = new JTextPane();
textPane.setPreferredSize(new Dimension(300,300));
textPane.revalidate();
scrollPane.setViewportView(textPane);
//button1 schriftgröße 18
JButton ueberschrift_1 = new JButton("\u00DCberschrift1");
ueberschrift_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String ueberschrift1 = JOptionPane.showInputDialog(null, "Überschrift 1 :");
SimpleAttributeSet set = new SimpleAttributeSet();
if(ueberschrift1 != null)
{
StyleConstants.setBold(set, true);
textPane.setCharacterAttributes(set, true);
textPane.setFont(new Font("Arial", 0, 18));
StyleConstants.setItalic(set, true);
Document doc = textPane.getStyledDocument();
try
{
doc.insertString(doc.getLength(), ueberschrift1, set);
}
catch (BadLocationException e1)
{
e1.printStackTrace();
}
}
}
});
ueberschrift_1.setBounds(284, 44, 125, 23);
getContentPane().add(ueberschrift_1);
//button2 schriftgröße 16
JButton ueberschrift_2 = new JButton("\u00DCberschrift2");
ueberschrift_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane option2 = new JOptionPane();
String ueberschrift2 = JOptionPane.showInputDialog(null, "Überschrift2 :");
SimpleAttributeSet set2 = new SimpleAttributeSet();
if (ueberschrift2 !=null)
{
StyleConstants.setBold(set2, true);
textPane.setCharacterAttributes(set2, true);
textPane.setFont(new Font("Arial",0,16));
Document doc2 = textPane.getStyledDocument();
try
{
doc2.insertString(doc2.getLength(), ueberschrift2, set2);
}
catch (BadLocationException e2)
{
e2.printStackTrace();
}
}
}
});
ueberschrift_2.setBounds(284, 78, 125, 23);
getContentPane().add(ueberschrift_2);
JButton btnberschrift_3 = new JButton("\u00DCberschrift3");
btnberschrift_3.setBounds(284, 112, 125, 23);
getContentPane().add(btnberschrift_3);
JButton btnText = new JButton("Text");
btnText.setBounds(284, 146, 125, 23);
getContentPane().add(btnText);
}
}
nach dem ich die aktion von button 2 volende wird der text der schriftgröße 18 hatte auf 16 runter gestuft (die größe die bei button 2 eingestellt ist) Umgekehrt das selbe problem : fang ich mit 16 an und will nächsten text 18 haben wird alles 18
Zuletzt bearbeitet: