Terve
Javalla koitan saada piirrettyä uusia komponentteja, mutta nämä eivät tule näkyviin.
... private void statistiikkaActionPerformed(java.awt.event.ActionEvent evt) { pelaanyt.setVisible(false); statistiikka.setVisible(false); poistu.setVisible(false); final JLabel stats = new JLabel(statistiikka()); JButton valikkoon = new JButton("Takaisin päävalikkoon"); sisältö.add(stats); sisältö.add(valikkoon); stats.setVisible(true); valikkoon.setVisible(true); valikkoon.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { stats.setVisible(false); pelaanyt.setVisible(true); statistiikka.setVisible(true); poistu.setVisible(true); } }); } ...
"sisältö" on JPanel-tyyppinen elementti. Siihen pitäisi piirtää allekkain JLabel "stats" ja JButton "valikkoon". Tuota kutsuttaessa kaikki entiset elementit piilotetaan oikein, mutta seuraavia ei näytetä. Missä vika?
Mitä statistiikka-funktiossa palautuu?
Merkkijono. Se yllä toimii, eikä Netbeans anna virheitä mistään.
Ei, en tarkoittanut sitä, vaan millaisia arvoja se antaa?
Se palautaa merkkijonon "statistiikka()". Se osa ohjelmaa on vielä vähän kesken, joten siellä ei ole mitään kummallista.
Ongelmana on hankala lähestymistapa. Teoriassa voisit kyllä poistaa (remove-metodilla) vanhat elementit ja laittaa tilalle uudet, mutta se ei ole kovin kätevää. Helpompi vaihtoehto on tehdä jokaisesta näkymästä erillinen paneeli ja vaihdella näkyvää paneelia vaikkapa CardLayoutin avulla.
Kiitos Metabolix. CardLayout olikin helpompi tapa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.