Olen tässä koettanut luoda pelkkää paljasta framea ja muuten se alkaakin olla jo ok, mutta haluaisin vielä tietää miten saadaan pois ikkunasta pienennys nappula?
Mitä järkeä tyhjää ikkunaa tehdä, joku nyt kysyy.
No ei varmaan paljookaan, mutta aloittalijalle ihan tarpeeksi haastetta =)
Ville
No kun pistät this.setUndecorated(true); niin häviää kaikki nappulat. ;)
Mutta jos olisin halunnut säilyttää sulkemisvaihtoehdon (eli sen ruksin) ja saada muut pois.
frame.setResizable(false) on jo siis hallussa.
Mutta miten pienennys saadaan vielä pois?
Java käyttää käyttöjärjestelmän tarjoamaa perusikkunaa siellä pohjalla, joten et saa yksittäisiä nappuloita pois. Ainoa vaihtoehto taitaa olla setUndecorated(true) ja sitten itse koodata yläpalkki ja sulkemisnappula. Ei mikään mahdoton tehtävä, mutta onhan siinä vähän ylimääräistä tehtävää vain muutaman nappulan takia.
Ok =)
Vielä olisin sitten udellut että mistäköhän pitäisi lähteä liikkeelle noissa nappuloiden koodauksessa??
Kun tuntuu tuo lähestyminen javaan olevan hiukan vaikea.
(Vb:ssä kun nuo jutut hoituu aika paljkon selkeämmin =) ).
Ja totta puhut, ylimääräistä puuhaa tuo totisesti on, mutta näin alkutaipaleella kaikki kiinnostaa ja eihän sitä tiedä vaikka joskus oikeasti tarvitsis.
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class NappiOhje extends JFrame implements ActionListener { private JButton jbLopeta; public NappiOhje( String sNimi ) { super(sNimi); setSize(600,480); jbLopeta = new JButton("X"); jbLopeta.setActionCommand("Lopeta"); jbLopeta.addActionListener( this ); JPanel jpSisusta = new JPanel(); jpSisusta.add(jbLopeta); //nappien parempaa asettelua varten kannattaa tutkia //GridBagLayout ja GridBagConstraints luokkia //JFramen sisältöolio getContentPane().add(jpSisusta); } /** * ActionListenerin vaatima metodi, jota kutsutaan, kun * nappia painetaan. */ public void actionPerformed( ActionEvent e ) { String sCmd = e.getActionCommand(); if ( "Lopeta".equals( sCmd ) ) { dispose(); // tuhotaan frame } } public static void main(String [] args) { JFrame f = new NappiOhje("Nappiohje"); f.setUndecorated(true); f.show(); } }
Nappuloiden koodauksessa kannattaa lähtetä liikkeelle tutkimalla JButton luokan javadoc dokumentaatiota.
Uh........
Mut, jumaleisson nythän mä hokaan =)
Paljosti kiitoksia.
Itse asiassa nappuloiden koodauksesta oli jo harmaa aavistus.
Mut en tajunnu että asiaa voi lähestyä tältä kantilta.
Johtuen varmaan kun en tuota "f.setUndecorated" juttua tiennyt.
Ei muuta kun kokeilemaan =)
Aihe on jo aika vanha, joten et voi enää vastata siihen.