Witam,
wczesniej pisywalem w dziale Delphi, to jest moj pierwszy post w temacie Java, dlatego prosze o wyrozumialosc.
Pisze z wykorzystaniem SWING. Jedna funkcja tworze sobie okno. Kolejna tworzy wszystko na ContentPane, trzecia z kolei ma za zadanie stworzenie menu. W skrocie jest to mniej wiecej tak:
public class gra extends JFrame
private static void tworz_okno() {
//Create and set up the content pane.
gra demo = new gra();
okno.setJMenuBar(gra.createMenuBar());
okno.setContentPane(gra.tworz_zawartosc_okna());
okno.setVisible(true);
}
/*Uruchomienie*/
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
tworz_okno();
}
});
}
public static JMenuBar createMenuBar() {
JMenuBar listwamenu = new JMenuBar();
JMenu plikMenu = new JMenu("Plik");
listwamenu.add(plikMenu);
//Plik / Nowa gra
final JMenuItem nowa = new JMenuItem("Nowa gra", new ImageIcon("images/menu/nowa.jpg"));
nowa.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, ActionEvent.ALT_MASK));
plikMenu.add(nowa);
//----Akcja do nowej gry
nowa.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
<b>lb_licznik.setText("22");</b>
}});
gra.tworz_zawartosc_okna.lb_licznik.setText("2");
});
return listwamenu;
}
public static Container tworz_zawartosc_okna() {
JPanel zawartosc_okna = new JPanel(new BorderLayout());
canvas = new JPanel (); //dowiedz sie co to jest..
zawartosc_okna.add (canvas, BorderLayout.CENTER);
JPanel panel_gorny = new JPanel ();
panel_gorny.setBackground(Color.lightGray);
panel_gorny.setLayout(new FlowLayout(FlowLayout.CENTER));
<b> JTextField lb_licznik = new JTextField("1");</b>
panel_gorny.add(lb_licznik);
zawartosc_okna.add (panel_gorny, BorderLayout.NORTH);
return zawartosc_okna;
}
private static JPanel canvas;
}
Nie potrafie dobrac sie do lb_licznik i zmienic tam wartosci. Gdzies robie zapewne podstawowy blad.
Prosze, pomozcie.
Z gory dziekuje za pomoc
Pozdrawiam,
Rafal