Autor Zpráva
barns
Profil *
zdravim, nevíte, proč mi nejde nastavit farbu pozadí pomocí setBackground? nefunguje mi to také u objektů. Program na příkaz vůbec nereaguje a ignoruje ho.
package projekt;

import java.awt.*;
import java.awt.Color.*;
import javax.swing.*;
import javax.swing.JFrame.*;

public class Projekt extends JFrame{
    public Projekt() {
        initComponents();
        }
    @SuppressWarnings("unchecked")
    private void initComponents() {
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Projekt");
        setBackground(new java.awt.Color(63, 127, 255));
        pack();
        }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Projekt().setVisible(true);
            }
        });
    }
}

děkuji...
Aesir
Profil
[#1] barns:

Nastudujte pořádně API :)
Metodu setBackground musíte volat nad objektem Containeru (java.awt.Container), ke kterému se z JFramu dostanete přes metodu javax.swing.JFrame.getContentPane()
Ve vašem případě tedy:

getContentPane().setBackground(new java.awt.Color(63, 127, 255));
barns
Profil *
waaaw, funguje děkuji moc krát ... dává mi to však několik nejasností ...
- Proč mi takový kód vývojové prostředí nevygenerovalo?
- Proč např. příkaz:
setTitle("Titulek programu");
funguje
a příkaz
setBackground(new java.awt.Color(55, 124, 251 ));
nefunguje? Vždyť je to stejný princip.
- Jak se pak bude nastavovat pozadí oběktů? Příklad:
jLabel1.setBackground(new java.awt.Color(236, 33, 216));
jLabel1.setText("text");
getContentPane().add(jLabel1, java.awt.BorderLayout.CENTER);

setText funguje, ale setBackground opět ne ... co s tím?
- Kde se dají nastudovat ty API funkce?
Děkuji ...
barns
Profil *
Za hloupé otázky se předem omlouvám, jsem jen začátečník...
Aesir
Profil
barns:
Za prvé je dobré si pročíst, jak je vůbec Swing strukturovaný, hlavně vůči JWT. V češtině je to popsané například na wikipedii.

Následně se můžete vrhnout na API Swingu, kde zjistíte v detailu JFramu, že dědí od java.awt.Frame, což je třída z jiného balíčku, takže musíte k jeho vlastnostem a metodám přistupovat přes patřičné rozhraní.

Analogicky to platí pro všcehny ostatní komponenty. Určitě potěší i obsáhlý "Swing tutorial".

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: