Grafika okna głównego

0

Witam,
Chciałbym dowiedzieć się w jaki sposób tworzona jest grafika okna głównego, że nie wygląda ono jak z systemową grafiką tylko program ma własną grafikę, pierwszy lepszy przykład gadu-gadu, okno jest z własną grafika w całości. Wiem, że można dodać "ikony" pod przyciski które będą imitacją czegoś co będzie dobrze wyglądać ale chodzi mi o to aby np zrobić jakiś pasek tytułowy różowo-fioletowo-wykrzywiony, swing tego chyba nie obsługuje. To samo z przyciskami są kwadratowe chcąc zrobic cos okrągłego podobnego do vistowskiej grafiki nie mogę nic znaleŹć, w jaki sposób to ruszyć ?.

0

Można np. zacząć od czegoś takiego,
a mianowicie samemu rysować wybrane komponenty:

public class Frame extends JFrame {

    private Image panelImage = null;
    private Image buttonImage = null;
    private JPanel panel;
    private JButton button;

    public Frame() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setUndecorated(true); //To wylaczy dekoracje okna

        try {
            panelImage = ImageIO.read(new URL("http://84.16.243.134/templates/NewAge/theme/images/header_left.gif"));
            buttonImage = ImageIO.read(new URL("http://84.16.243.134/templates/NewAge/imageset/gfx/newpost_h.gif"));
        } catch (IOException ex) {}

        button = new JButton() {
            @Override
            public void paint(Graphics g) {
                g.drawImage(buttonImage, 0, 0, null);
            }
        };
        button.setPreferredSize(new Dimension(buttonImage.getWidth(null), buttonImage.getHeight(null)));
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                dispose();
            }
        });

        panel = new JPanel() {
            @Override
            public void paint(Graphics g) {
                g.drawImage(panelImage, 0, 0, null);
            }
        };
        panel.add(button);

        setSize(new Dimension(panelImage.getWidth(null), panelImage.getHeight(null)));
        setContentPane(panel);
    }
}

Trochę jest z tym zabawy, ale ja osobiście lepszego pomysłu nie mam.

0

Dzięki, w sumie już coś do przodu, bardzo pomocne jest setUndecorated no i reszte można dorobić tj opisałeś i pobawić się trochę(trochę hehe kilka dni zabawy) no ale już coś wiadomo :-). Jeśli ktoś ma jakieś inne pomysły to proszę o wypowiedź. Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1