JButton durch Grafik ersetzen

mikedef

Grünschnabel
juten tach,

ich versuche meine buttons durch eigene grafiken zu ersetzen, jedoch lässt er neben der grafik immer ein bissel platz, was störend ist, da der button so auf klicks und mouseover ereignisse reagiert, wo eigentlich garkein button mehr sein sollte.
was ich bis jetzt probiert habe seht ihr hier:

Code:
			JButton jOkButton = jOkButton(icon);
		        jOkButton.setPreferredSize(new Dimension(33,18));
			jOkButton.setVerticalAlignment(SwingConstants.CENTER);
		        jOkButton.setHorizontalAlignment(SwingConstants.LEFT);

wenn jemand rat weiß, währe ich ihm sehr dankbar.
 
Hallo Mike,

Diese Methoden von JButton müssten deinen Wünschen nachkommen.
setMargin(new Insets(0, 0, 0, 0));
setBorderPainted(false);
setContentAreaFilled(false);
setFocusPainted(false);

Diese hättest du auch selbst aus der API finden können, oder ;) . Das nächste mal, weißt du wo du suchen musst.
http://java.sun.com/j2se/1.5.0/docs/api/index.html



Java:
import java.awt.FlowLayout;
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;

public class ButtonExample extends JFrame implements ActionListener {

	private JButton btn1 = new JButton(new ImageIcon("b1.jpg"));

	private JButton btn2 = new JButton(new ImageIcon("b1.jpg"));

	private JButton btn3 = new JButton(new ImageIcon("b1.jpg"));

	private JButton btn4 = new JButton(new ImageIcon("b1.jpg"));

	private JButton btn5 = new JButton(new ImageIcon("b1.jpg"));

	public ButtonExample() {
		super("Button Example");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setAlwaysOnTop(true);
		this.setLocationByPlatform(true);
		this.setSize(480, 640);

		btn1.setName("b1");
		btn2.setName("b2");
		btn3.setName("b3");
		btn4.setName("b4");
		btn5.setName("b5");
		btn1.addActionListener(this);
		btn2.addActionListener(this);
		btn3.addActionListener(this);
		btn4.addActionListener(this);
		btn5.addActionListener(this);

		btn1.setMargin(new Insets(0, 0, 0, 0));
		btn1.setBorderPainted(false);
		btn1.setContentAreaFilled(false);
		btn1.setFocusPainted(false);

		btn2.setMargin(new Insets(0, 0, 0, 0));
		btn2.setBorderPainted(false);
		btn2.setContentAreaFilled(false);

		btn3.setMargin(new Insets(0, 0, 0, 0));
		btn3.setBorderPainted(false);

		btn4.setMargin(new Insets(0, 0, 0, 0));

		this.setLayout(new FlowLayout());
		this.add(btn1);
		this.add(btn2);
		this.add(btn3);
		this.add(btn4);
		this.add(btn5);

		this.pack();
		this.setVisible(true);
	}

	public static void main(String[] args) {
		new ButtonExample();
	}

	public void actionPerformed(ActionEvent e) {
		JButton b = (JButton) e.getSource();
		if (b.getName().equals("b1"))
			System.out.println("b1");
		else if (b.getName().equals("b2"))
			System.out.println("b2");
		else if (b.getName().equals("b3"))
			System.out.println("b3");
		else if (b.getName().equals("b4"))
			System.out.println("b4");
		else
			System.out.println("b5");
	}
}


Vg Erdal
 
Zurück