Mam pytanie jak zmniejszyć te przyciski żeby nie zajmowały całości ramki?;d
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class pr
{
public static void main(String[] args)
{
RamkaP ramka = new RamkaP();
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ramka.show();
}
}
/**
Ramka, zawierająca panel przycisków
*/
class RamkaP extends JFrame
{
public RamkaP()
{
setTitle("TestPrzyciskow");
setSize(SZEROKOSC, WYSOKOSC);
setLayout(new BorderLayout());
// dołącz panel do ramki
PanelP panel = new PanelP();
Container powZawartosci = getContentPane();
powZawartosci.add(panel);
add(panel, BorderLayout.CENTER);
}
public static final int SZEROKOSC = 300;
public static final int WYSOKOSC = 200;
}
/**
Panel, zawierający trzy przyciski
*/
class PanelP extends JPanel
{
public PanelP()
{
setLayout(new GridLayout(5,1));
// skonstruuj przyciski
JButton przyciskZolty = new JButton("Żółty");
JButton przyciskNiebieski = new JButton("Niebieski");
JButton przyciskCzerwony = new JButton("Czerwony");
JButton przyciskZielony = new JButton("Zielony");
JButton przyciskCzarny = new JButton("Czarny");
// dołącz przyciski do panelu
add(przyciskZolty);
add(przyciskNiebieski);
add(przyciskCzerwony);
add(przyciskZielony);
add(przyciskCzarny);
// skonstruuj działania przycisków
DzialanieKoloru dzialanieZoltego = new DzialanieKoloru(Color.yellow);
DzialanieKoloru dzialanieNiebieskiego = new DzialanieKoloru(Color.blue);
DzialanieKoloru dzialanieCzerwonego = new DzialanieKoloru(Color.red);
DzialanieKoloru dzialanieZielonego = new DzialanieKoloru(Color.green);
DzialanieKoloru dzialanieCzarnego = new DzialanieKoloru(Color.orange);
// przyporządkuj działania do przycisków
przyciskZolty.addActionListener(dzialanieZoltego);
przyciskNiebieski.addActionListener(dzialanieNiebieskiego);
przyciskCzerwony.addActionListener(dzialanieCzerwonego);
przyciskZielony.addActionListener(dzialanieZielonego);
przyciskCzarny.addActionListener(dzialanieCzarnego);
}
/**
Słuchacz, zmieniający kolor tła panelu
*/
private class DzialanieKoloru implements ActionListener
{
public DzialanieKoloru(Color k)
{
kolorTla = k;
}
public void actionPerformed(ActionEvent zdarzenie)
{
setBackground(kolorTla);
repaint();
}
private Color kolorTla;
}
}