net.java.balloontip.examples.positioner.SimplePositionerExample Maven / Gradle / Ivy
/**
* Copyright (c) 2011-2013 Bernhard Pauler, Tim Molderez.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the 3-Clause BSD License
* which accompanies this distribution, and is available at
* http://www.opensource.org/licenses/BSD-3-Clause
*/
package net.java.balloontip.examples.positioner;
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import net.java.balloontip.BalloonTip;
import net.java.balloontip.styles.EdgedBalloonStyle;
/**
* Simple application demonstrating a BalloonTip with a custom BalloonTipPositioner
* @author Tim Molderez
*/
public class SimplePositionerExample {
/**
* Main method
* @param args command-line arguments (unused)
*/
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Setup the application's window
JFrame frame = new JFrame("Simple BalloonTipPositioner example");
frame.setIconImage(new ImageIcon(SimplePositionerExample.class.getResource("/net/java/balloontip/images/frameicon.png")).getImage());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Setup the content pane
JPanel contentPane = new JPanel();
contentPane.setLayout(new GridBagLayout());
frame.setContentPane(contentPane);
// Add a button
final JButton button = new JButton("A button");
contentPane.add(button, new GridBagConstraints(0,0,1,1,1,1, GridBagConstraints.SOUTHEAST, GridBagConstraints.NONE, new Insets(0,0,60,200), 0, 0));
// Now construct the balloon tip, with our own positioner
final BalloonTip balloonTip = new BalloonTip(
button,
new JLabel("A balloon tip with a custom positioner."),
new EdgedBalloonStyle(Color.WHITE, Color.BLUE),
new SimpleTipPositioner(),
null
);
balloonTip.setCloseButton(BalloonTip.getDefaultCloseButton(),false);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
balloonTip.setVisible(true);
}
});
// Display the window
frame.pack();
frame.setSize(320, 240);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy