Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.GridBagLayout;
- import java.awt.GridLayout;
- import java.awt.image.BufferedImage;
- import java.io.IOException;
- import java.net.URL;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.imageio.ImageIO;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.SwingUtilities;
- public class ButtonsWithBackground {
- public ButtonsWithBackground() {
- BufferedImage[] images = getImages();
- ImagePanel backgroundPanel = new ImagePanel(images[0]);
- backgroundPanel.setLayout(new GridLayout(1, 2, 0, 0));
- JPanel buttonsPanel = createButtonsPanel(images);
- JPanel leftPanel = new JPanel();
- leftPanel.setOpaque(false);
- backgroundPanel.add(leftPanel);
- backgroundPanel.add(buttonsPanel);
- JFrame frame = new JFrame();
- frame.setContentPane(backgroundPanel);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.pack();
- frame.setLocationRelativeTo(null);
- frame.setVisible(true);
- }
- private JPanel createButtonsPanel(BufferedImage[] images) {
- JPanel panel = new JPanel(new GridLayout(4, 1));
- for (int i = 0; i < 4; i++) {
- ImagePanel buttonPanel = new ImagePanel(images[1]);
- buttonPanel.add(new JButton("Hey I'm a Button"));
- panel.add(buttonPanel);
- }
- return panel;
- }
- private BufferedImage[] getImages() {
- BufferedImage[] bi = new BufferedImage[2];
- try {
- BufferedImage bg = ImageIO.read(new URL("http://i.stack.imgur.com/YFfO4.png"));
- BufferedImage jbtbg = ImageIO.read(new URL("http://i.stack.imgur.com/DtO9U.png"));
- bi[0] = bg;
- bi[1] = jbtbg;
- } catch (IOException ex) {
- Logger.getLogger(ButtonsWithBackground.class.getName()).log(Level.SEVERE, null, ex);
- }
- return bi;
- }
- private class ImagePanel extends JPanel {
- private BufferedImage img;
- public ImagePanel(BufferedImage img) {
- this.img = img;
- setLayout(new GridBagLayout());
- }
- @Override
- protected void paintComponent(Graphics g) {
- super.paintComponent(g);
- g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
- }
- @Override
- public Dimension getPreferredSize() {
- return new Dimension(img.getWidth(), img.getHeight());
- }
- }
- public static void main(String[] args) {
- SwingUtilities.invokeLater(new Runnable(){
- public void run() {
- new ButtonsWithBackground();
- }
- });
- }
- }
- Jpanel buttonHolder = new JPanel;
- buttonHolder.add(button1);
- buttonHolder.add(button2);
- buttonHolder.add(button3);
- buttonHolder.add(button4);
- frame.add(buttonHolder, FlowLayout.RIGHT); //justify to the right side
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement