Deepak Deepak - 1 year ago 129
Java Question

Word Wrap in JButtons

Is it possible to achieve automatic word wrap of texts in JButtons? I am having few dynamic buttons which I create on runtime. I want to put word wrap feature on the buttons so that I can see some better test on buttons. Is it possible to do that?

Answer Source

This example uses Java's inbuilt CSS rendering abilities to to do the 'heavy lifting' of determining when to do a line break. It uses a JLabel, but the same principles apply to any component that will render HTML.

import javax.swing.*;

class FixedWidthText {

    public static void showLabel(int width, String units) {
        String content1 = "<html>" +
            "<body style='background-color: white; width: ";
        String content2 = "'>" +
            "<h1>Fixed Width</h1>" +
            "<p>Body width fixed at ";
        String content3 =
            " using CSS.  " +
            "Java's HTML" +
            " support includes support" +
            " for basic CSS.</p>";
        final String content =
            content1 + width + units + content2 + width + units + content3;
        Runnable r = new Runnable() {
            public void run() {
                JLabel label = new JLabel(content);
                JOptionPane.showMessageDialog(null, label);

    public static void main(String[] args) {
        showLabel(160, "px");
        showLabel(200, "px");
        showLabel(50, "%");

Screen shots


enter image description here


enter image description here


enter image description here

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download