1 Востаннє редагувалося overon (10.06.2015 17:19:37)

Тема: Додання підказки

Допоможіть додати підказку на кнопку (редактор ) /
Підказка - при наведенні на кнопку висвічувався якийсь надпис .

Якщо комусь не тяжко може він зробити на цю кнопку підказку . Дякую .

import java.awt.* ;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;

import javax.swing.*;

public class BoxDemo {

    BoxDemo() {
        final int RAZM_RAMK = 1, SHIR = 140, VIS = 25;
        // Создание нового контейнера JFrame.
        JFrame jfrm = new JFrame("box1ayout Demo");
        // *** с панелью содержимого связывается
        // диспетчер компоновки FlowLayout. ***
        jfrm.getContentPane().setLayout(new FlowLayout());
        // Установка начальных размеров фрейма,
        //jfrm.setUndecorated(true);
        jfrm.setSize((int)(SHIR*4.5), 140);
        jfrm.setResizable( false );
        // Завершение программы при закрытии окна пользователем,
        jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        
        Dimension btnDim1 = new Dimension( SHIR, VIS );
        Dimension btnDim2 = new Dimension( SHIR, VIS*2 );
        printf("w=%d  h=%d\n", btnDim2.width, btnDim2.height );
        // Создание метки
        ClockLabel clock = new ClockLabel();
        clock.setText( "" );
        clock.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
        clock.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        clock.setMinimumSize(btnDim1);
        clock.setMaximumSize (btnDim1);
        clock.setPreferredSize(btnDim1);
        
        // Создание кнопок.
        JButton jbtnPtn = new JButton( "Пятнашки" );
        JButton jbtnRaspor = new JButton( "Распорядок дня" );
        
        //jbtnPtn.setMinimumSize(btnDim1);
        //jbtnPtn.setMaximumSize (btnDim1);
        //jbtnRaspor.setMinimumSize(btnDim1);
        //jbtnRaspor.setMaximumSize (btnDim1);
        jbtnPtn.setMinimumSize(btnDim1);
        jbtnPtn.setMaximumSize (btnDim1);
        jbtnPtn.setPreferredSize(btnDim1);
        jbtnRaspor.setMinimumSize(btnDim1);
        jbtnRaspor.setMaximumSize (btnDim1);
        jbtnRaspor.setPreferredSize(btnDim1);
        
        JButton jbtnRedak = new JButton( "Редактор" );
        JButton jbtnZvonok = new JButton( "Звонок" );        
        JButton jbtnNastr = new JButton( "Настройки" );
        jbtnRedak.setMinimumSize( btnDim2 );
        jbtnRedak.setMaximumSize( btnDim2 );
        jbtnRedak.setPreferredSize(btnDim2);
        jbtnZvonok.setMinimumSize( btnDim2 );
        jbtnZvonok.setMaximumSize( btnDim2 );
        jbtnZvonok.setPreferredSize(btnDim2);
        jbtnNastr.setMinimumSize( btnDim2 );
        jbtnNastr.setMaximumSize( btnDim2 );
        jbtnNastr.setPreferredSize(btnDim2);

        
        //jbtnZvonok.setSize( btnDim2 );
        jbtnNastr.setSize( btnDim2 );
        
        JButton jbtnCalk = new JButton( "Калькулятор" );
        JButton jbtnNapom = new JButton( "Напоминание" );        
        JButton jbtnZapis = new JButton( "Записная книжка" );
        jbtnCalk.setMinimumSize(btnDim1);
        jbtnCalk.setMaximumSize (btnDim1);
        jbtnCalk.setPreferredSize(btnDim1);
        jbtnNapom.setMinimumSize(btnDim1);
        jbtnNapom.setMaximumSize (btnDim1);
        jbtnNapom.setPreferredSize(btnDim1);
        jbtnZapis.setMinimumSize(btnDim1);
        jbtnZapis.setMaximumSize (btnDim1);
        jbtnZapis.setPreferredSize(btnDim1);
        
        // Соадание чктырех вертикальных блоков.
        Box box1 = Box.createVerticalBox();
        Box box2 = Box.createVerticalBox();
        Box Ьox3 = Box.createVerticalBox();
        Box Ьox4 = Box.createVerticalBox();
        // Соадание невидимых рамок для кнопок.
        box1.setBorder(
                BorderFactory.createEmptyBorder(RAZM_RAMK, RAZM_RAMK, RAZM_RAMK, RAZM_RAMK ));
        box2.setBorder(
                BorderFactory.createEmptyBorder(RAZM_RAMK, RAZM_RAMK, RAZM_RAMK, RAZM_RAMK));
        Ьox3.setBorder(
                BorderFactory.createEmptyBorder(RAZM_RAMK, RAZM_RAMK, RAZM_RAMK, RAZM_RAMK));
        Ьox4.setBorder(
                BorderFactory.createEmptyBorder(RAZM_RAMK, RAZM_RAMK, RAZM_RAMK, RAZM_RAMK));
        // Включение компонентов в блок box1
        box1.add( clock);
        box1.add(Box.createRigidArea(new Dimension(0, 4)));
        box1.add(jbtnPtn);
        box1.add(Box.createRigidArea(new Dimension(0, 4)));
        box1.add( jbtnRaspor );
        // Включение компонентов в блок box2
        box2.add(jbtnRedak);
        box2.add(Box.createRigidArea(new Dimension(0, 4)));
        box2.add( jbtnCalk );
        // Включение компонентов в блок box3
        Ьox3.add(jbtnZvonok);
        Ьox3.add(Box.createRigidArea(new Dimension(0, 4)));
        Ьox3.add( jbtnNapom );
        // Включение компонентов в блок box4
        Ьox4.add(jbtnNastr);
        Ьox4.add(Box.createRigidArea(new Dimension(0, 4)));
        Ьox4.add( jbtnZapis );
        
        jfrm.getContentPane().add(box1);
        jfrm.getContentPane().add(box2);
        jfrm.getContentPane().add(Ьox3);
        jfrm.getContentPane().add(Ьox4);
        // Отображение фрейма.
        jfrm.setVisible(true);
        
    } // BoxDemo
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        // Фрейм создается в потоке обработки сооытии.
        SwingUtilities.invokeLater(new Runnable () {
            public void run() {
                new BoxDemo();
            }
        });
    } // main
    public static void printf( String f, Object ... args ){
        System.out.printf( f, args );
    } // printf
} // class BoxDemo


class ClockLabel extends JLabel implements ActionListener {
    public ClockLabel() {
        //super("" + new Date());
        Timer t = new Timer(1000, this);
        t.start();
    }
    public void actionPerformed(ActionEvent ae) {
        int h, m, s;
        Date d = new Date();
        h = d.getHours();
        m = d.getMinutes();
        s = d.getSeconds();
        setText( ""+h+":"+m+":"+s );
    }
} // 

2

Re: Додання підказки

JButton b = new JButton("Test");
b.setToolTipText("Help text for the button");

Детальніше.

Подякували: overon, leofun012