tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
4603
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    rührnössel rührnössel ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    9
    Wie macht man einen Text in einer JTextArea rechtsbünding, linksbünding, zentriert?
     

  2. #2
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Zitat Zitat von rührnössel
    Wie macht man einen Text in einer JTextArea rechtsbünding, linksbünding, zentriert?
    N'Abend,
    ich vermute durch

    Code :
    1
    
    public void setComponentOrientation(ComponentOrientation o)

    Einfach in der API nachschauen.
     

  3. #3
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    In einer JTextArea geht das nicht so ohne weiteres... dafür aber mit einem JTextPane:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    
    /*
     * Created on 31.01.2005@19:15:41
     *
     * TODO Licence info
     */
    package de.tutorials;
     
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextPane;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.DefaultStyledDocument;
    import javax.swing.text.SimpleAttributeSet;
    import javax.swing.text.StyleConstants;
    import javax.swing.text.StyledDocument;
     
    /**
     * @author Administrator
     *
     * TODO Explain me
     */
    public class AlignmentExamle extends JFrame {
     
        private JTextPane textPane;
     
        private StyledDocument doc = new DefaultStyledDocument();
     
        private JPanel controlPanel = new JPanel() {
            {
                final JButton btnLeftAlignment = new JButton("left");
                final JButton btnRightAlignment = new JButton("right");
                final JButton btnCenterAlignment = new JButton("center");
                final SimpleAttributeSet as = new SimpleAttributeSet();
     
                ActionListener action = new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        Object src = e.getSource();
                        int start = textPane.getSelectionStart();
                        int len = textPane.getSelectionEnd() - start;
     
                        if (src == btnLeftAlignment) {
                            StyleConstants.setAlignment(as,
                                    StyleConstants.ALIGN_LEFT);
                            System.out.println("left");
                        } else if (src == btnRightAlignment) {
                            StyleConstants.setAlignment(as,
                                    StyleConstants.ALIGN_RIGHT);
                            System.out.println("right");
                        } else if (src == btnCenterAlignment) {
                            StyleConstants.setAlignment(as,
                                    StyleConstants.ALIGN_CENTER);
                            System.out.println("center");
                        }
                        doc.setParagraphAttributes(start, len, as, false);
                    }
     
                };
     
                btnLeftAlignment.addActionListener(action);
                btnRightAlignment.addActionListener(action);
                btnCenterAlignment.addActionListener(action);
     
                add(btnLeftAlignment, BorderLayout.WEST);
                add(btnCenterAlignment, BorderLayout.CENTER);
                add(btnRightAlignment, BorderLayout.EAST);
            }
        };
     
        public AlignmentExamle() {
            super("AlignmentExamle");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
     
            try {
                doc.insertString(0, "tutorials.de", SimpleAttributeSet.EMPTY);
            } catch (BadLocationException e) {
                e.printStackTrace();
            }
     
            textPane = new JTextPane(doc);
            textPane.setEditable(false);
            Container c = getContentPane();
            c.add(controlPanel, BorderLayout.SOUTH);
            c.add(textPane, BorderLayout.CENTER);
     
            pack();
            setVisible(true);
        }
     
        public static void main(String[] args) {
            new AlignmentExamle();
        }
    }

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  4. #4
    rührnössel rührnössel ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    9
    danke, wisst ihr wie man die größe des JTextPane ändern kann?
    so gehts nicht JTextPane(30,20)
     

  5. #5
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Zitat Zitat von rührnössel
    danke, wisst ihr wie man die größe des JTextPane ändern kann?
    so gehts nicht JTextPane(30,20)
    Moin,
    wie immer empfehle ich die Verwendung von

    setPreferredSize()
    setMinimumSize()
    setMaximumSize()
     

  6. #6
    rührnössel rührnössel ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    9
    Irgendwie scheint es nicht zu funktionieren. ich ändere die werte, doch das JTextPane bleibt immer gleich groß. so hab ich es versucht
    setPreferredSize(400,400)
    gibts noch eine möglichkeit?
     

  7. #7
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Tach,
    Du musst alle drei Werte setzen, also auch die Minimum und Maximum Size.
     

  8. #8
    rührnössel rührnössel ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    9
    danke! aber wenn ich das jetzt so machen
    text.setPreferredSize(300,300);
    text.setMinimumSize(300,300);
    text.setMaximumSize(10,10);

    dann bekomme ich drei mal diese fehlermeldung:

    setPreferredSize(java.awt.Dimension) in javax.swing.JComponent cannot be applied to (int,int)

    text.setPreferredSize(300,300);
     

  9. #9
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Zitat Zitat von rührnössel
    danke! aber wenn ich das jetzt so machen
    text.setPreferredSize(300,300);
    text.setMinimumSize(300,300);
    text.setMaximumSize(10,10);

    dann bekomme ich drei mal diese fehlermeldung:

    setPreferredSize(java.awt.Dimension) in javax.swing.JComponent cannot be applied to (int,int)

    text.setPreferredSize(300,300);
    Schau noch mal genau hin, was Du da getan hast:
    Minimum 300, aber Maximum 10, wie soll das gehen? Nimm

    Code :
    1
    2
    3
    
    text.setPreferredSize(300,300);
    text.setMinimumSize(300,300);
    text.setMaximumSize(300,300);

    oder

    Code :
    1
    2
    3
    
    text.setPreferredSize(300,300);
    text.setMinimumSize(10,10);
    text.setMaximumSize(300,300);
     

  10. #10
    rührnössel rührnössel ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    9
    danke, natürlich hab ich es im Quellcode "richtig" gehabt. Hab beides versucht (also:
    text.setPreferredSize(300,300);
    text.setMinimumSize(300,300);
    text.setMaximumSize(300,300);

    und

    text.setPreferredSize(300,300);
    text.setMinimumSize(10,10);
    text.setMaximumSize(300,300);

    geht aber trotzdem nicht ich bekomme die gleiche fehlermeldung wie vorhin beschrieben. ich benütze den j2sdk1.4.2_01 kann das damit was zu tun haben?
     

  11. #11
    Avatar von takidoso
    takidoso takidoso ist offline Mitglied Brillant
    Registriert seit
    Aug 2004
    Ort
    Kömigstein
    Beiträge
    911
    Schau doch mal genau auf dei Fehlermeldung, sie sagt eigetnlich schon alles:

    die Routinen set...Size()
    wollen alle ganz gerne eine Dimension als Argument
     

  12. #12
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Zitat Zitat von rührnössel
    setPreferredSize(java.awt.Dimension) in javax.swing.JComponent cannot be applied to (int,int)

    text.setPreferredSize(300,300);
    Ah ja, wer lesen kann ist klar im Vorteil. Offenbar gibt es kein

    setPreferredSize( int, int ), sondern nur setPreferredSize( Dimension )

    Also:

    setPreferredSize(new Dimension( 300, 300 ));
     

Ähnliche Themen

  1. [ID CS4] Text mit Tab zentrieren
    Von möp im Forum Desktop Publishing (DTP)
    Antworten: 0
    Letzter Beitrag: 17.03.10, 19:16
  2. Text Zentrieren
    Von Philipp- im Forum CSS
    Antworten: 4
    Letzter Beitrag: 14.08.07, 13:57
  3. Image-GD Text zentrieren
    Von Spechter im Forum PHP
    Antworten: 1
    Letzter Beitrag: 27.01.06, 15:58
  4. Text zentrieren
    Von torkel im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 19.09.05, 20:13
  5. Text mit CSS zentrieren
    Von efham im Forum CSS
    Antworten: 5
    Letzter Beitrag: 30.10.03, 07:57