Ĺadny brzuch
witam wszystkich :D
to jest mój programik jednak nie dział tak jak nalezy :D po przycisnięcu danego przycisku powinny wyskakiwac informacje o danym zwierzaku i zpowinien sie zmieniac kolor tła :D jestem poczatkujacy w javie i prosze was o pomoc :!
import java.awt.*;
import java.awt.event.*;
class pieskotchomik extends Frame implements WindowListener, ActionListener {
Panel p;
public static void main(String arg[]) {
pieskotchomik f = new pieskotchomik("Zwierzaki to bardzo złożony program", 400, 250);
f.setVisible(true);
}
public pieskotchomik(String s, int width, int height) {
super(s);
setSize(width, height);
setLayout(new BorderLayout());
p = new Panel();
Panel pb = new Panel();
pb.setLayout(new GridLayout(1, 3));
add(p, "Center");
add(pb, "North");
Button button1 = new Button("Pies");
Button button2 = new Button("Kot");
Button button3 = new Button("Chomik");
Label label1 = new Label("Imie: Burek1 ");
Label label2 = new Label("Imie: Burek2");
Label label3 = new Label("Imie: Burek3");
Label label11 = new Label("Waga:10kg ");
Label label22 = new Label("Waga:9kg ");
Label label33 = new Label("Waga:11kg ");
Label label111 = new Label("Dzwiek: miau ");
Label label222 = new Label("Dzwiek:grrrrr ");
Label label333 = new Label("Dzwiek:kszy kszy ");
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
pb.add(button1);
pb.add(button2);
pb.add(button3);
addWindowListener(this);
Panel p = new Panel();
p.setLayout(new GridLayout(3, 1));
add(p, "Center");
p.add(label1);
p.add(label2);
p.add(label3);
p.setBackground(Color.yellow);
pb.add(button1);
p.add(label11);
p.add(label22);
p.add(label33);
p.setBackground(Color.green);
pb.add(button2);
p.add(label111);
p.add(label222);
p.add(label333);
p.setBackground(Color.blue);
pb.add(button3);
}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowClosed(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void actionPerformed(ActionEvent e) {
}
}
podajcie mi wskazówki co mam poprawic :D
Hmmm no nie obsługujesz wywołań przycisku:)
Powinieneś dodać wyświetlanie tych danych w funkcji actionPerformed;) popróbuj, a jak by co to napisz:)
Jeszcze jedna uwaga, nazwy klas zwyczajowo nazywa się poczynając od wielkich liter i zaznaczając każdy nowy wyraz wielką literą (Vector, HashMap, NewPupilFrame itd...) :)
Kodie
jest tu ktoś od javy ??:)
cytat:Kodie napisał:
Hmmm no nie obsługujesz wywołań przycisku:)
Powinieneś dodać wyświetlanie tych danych w funkcji actionPerformed;) popróbuj, a jak by co to napisz:)
Jeszcze jedna uwaga, nazwy klas zwyczajowo nazywa się poczynając od wielkich liter i zaznaczając każdy nowy wyraz wielką literą (Vector, HashMap, NewPupilFrame itd...) :)
Kodie
mów do mnie jeszcze !! ja dopiero zaczyna sie uczyć javy więc jezeli mozna to bardziej konkretne odpowiedzi poprosze :D
ok, sorry:) to może pokaże prostszy przykład:
import java.awt.*; import java.awt.event.* class PupilsFrame extends Frame implements WindowListener, ActionListener{ Panel pupilsMenu = new Panel(); Panel InfoPanel = new Panel(); Label lblName; Label lblAge; public PupilsFrame(){ super("Zwierzaki"); this.setSize(200,200); this.setLayout = new BorderLayout(); pupilsMenu.setLayout(new GridLayout(1,2)); Button btnDoggy = new Button("Piesek"); btnDoggy.addActionListener(this); pupilsMenu.add(btnDoggy); Button btnCat = new Button("Kotek"); btnCat.addActionListener(this); pupilsMenu.add(btnCat); this.add(pupilsMenu, BorderLayout.WEST); infoPane.setLayout(new GridLayout(1,2)); lblName = new Label(""); infoPane.add(lblName); lblAge = new Label(""); infoPane.add(lblAge); this.add(infoPane, BorderLayout.CENTER); } public void actionPerformed(ActionEvent evt){ if(((Button)evt.getSource()).getText().equals("Piesek")) { lblName.setText("Piesio"); lblAge.setText("2"); }else{ lblName.setText("Kotuś"); lblAge.setText("3"); } } public static void main(String[] args){ new PupilsFrame().show(); } public void windowClosing(WindowEvent e) { System.exit(0); } public void windowClosed(WindowEvent e) {} public void windowOpened(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} }
mam nadzieje, że jako tako działa:) :D ale nie ręczę:)
Kodie
6 błędów :D
ogólnie to dzieki za zainteresowanie !! jednak to źródełko jest to dla mnie totalnie nie zrozumiałe :D
Sorki, to powinno być już dobre, jednak radzę ci poczytać jakiś kurs w internecie, bo jednak będzie ci łatwiej:):
import java.awt.*;//importowanie klas obsługujących okienka import java.awt.event.*;//importowanie klas obsługujących wydarzenia class PupilsFrame extends Frame implements WindowListener, ActionListener{ /*Definicja klasy, dziedziczy z ramki (dzięki temu możemy pokazać okienko) i implementuje interfejsy odpowiedzialne za 1. obsługe okba (zamykanie), 2. obłsuge akcji*/ /*na tych panelach porozmieszczamy odpowiednie komponenty*/ Panel pupilsMenu = new Panel(); Panel infoPane = new Panel(); /*komponenty te muszą być globalnie, aby móc zmieniać ich zawartość z każdej metody (zazwyczaj wszystkie, kontrolki są globalnie, ale mi się nie chciało:D*/ Label lblName; Label lblAge; /*Konstruktor - używa się go przy inicjacji klasy (new ...)*/ public PupilsFrame(){ super("Zwierzaki"); // wywołanie konstruktora klasy Frame this.setSize(200,200); // zmiana rozmiaru this.setLayout( new BorderLayout()); // nadanie nowego layout'u pupilsMenu.setLayout(new GridLayout(1,2)); /*nowy przycisk*/ Button btnDoggy = new Button("Piesek"); btnDoggy.addActionListener(this); pupilsMenu.add(btnDoggy); Button btnCat = new Button("Kotek"); btnCat.addActionListener(this); pupilsMenu.add(btnCat); this.add(pupilsMenu, BorderLayout.WEST); infoPane.setLayout(new GridLayout(1,2)); lblName = new Label(""); infoPane.add(lblName); lblAge = new Label(""); infoPane.add(lblAge); this.add(infoPane, BorderLayout.CENTER); } /**obsługa akcji (dzięki addActionListener(this)) public void actionPerformed(ActionEvent evt){ //obsługa odpowiednich przypadków if(((Button)evt.getSource()).getLabel().equals("Piesek")) { lblName.setText("Piesio"); lblAge.setText("2"); }else{ lblName.setText("Kotuś"); lblAge.setText("3"); } } /* ta porcedura uruchamiana jest przy uruchomieniu programu public static void main(String[] args){ new PupilsFrame().show(); } /*obsługa okna*/ public void windowClosing(WindowEvent e) { System.exit(0); } public void windowClosed(WindowEvent e) {} public void windowOpened(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} }
Kodie
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
to jest mój programik jednak nie dział tak jak nalezy :D po przycisnięcu danego przycisku powinny wyskakiwac informacje o danym zwierzaku i zpowinien sie zmieniac kolor tła :D jestem poczatkujacy w javie i prosze was o pomoc :!
import java.awt.*;
import java.awt.event.*;
class pieskotchomik extends Frame implements WindowListener, ActionListener {
Panel p;
public static void main(String arg[]) {
pieskotchomik f = new pieskotchomik("Zwierzaki to bardzo złożony program", 400, 250);
f.setVisible(true);
}
public pieskotchomik(String s, int width, int height) {
super(s);
setSize(width, height);
setLayout(new BorderLayout());
p = new Panel();
Panel pb = new Panel();
pb.setLayout(new GridLayout(1, 3));
add(p, "Center");
add(pb, "North");
Button button1 = new Button("Pies");
Button button2 = new Button("Kot");
Button button3 = new Button("Chomik");
Label label1 = new Label("Imie: Burek1 ");
Label label2 = new Label("Imie: Burek2");
Label label3 = new Label("Imie: Burek3");
Label label11 = new Label("Waga:10kg ");
Label label22 = new Label("Waga:9kg ");
Label label33 = new Label("Waga:11kg ");
Label label111 = new Label("Dzwiek: miau ");
Label label222 = new Label("Dzwiek:grrrrr ");
Label label333 = new Label("Dzwiek:kszy kszy ");
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
pb.add(button1);
pb.add(button2);
pb.add(button3);
addWindowListener(this);
Panel p = new Panel();
p.setLayout(new GridLayout(3, 1));
add(p, "Center");
p.add(label1);
p.add(label2);
p.add(label3);
p.setBackground(Color.yellow);
pb.add(button1);
p.add(label11);
p.add(label22);
p.add(label33);
p.setBackground(Color.green);
pb.add(button2);
p.add(label111);
p.add(label222);
p.add(label333);
p.setBackground(Color.blue);
pb.add(button3);
}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowClosed(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void actionPerformed(ActionEvent e) {
}
}
podajcie mi wskazówki co mam poprawic :D
Hmmm no nie obsługujesz wywołań przycisku:)
Powinieneś dodać wyświetlanie tych danych w funkcji actionPerformed;) popróbuj, a jak by co to napisz:)
Jeszcze jedna uwaga, nazwy klas zwyczajowo nazywa się poczynając od wielkich liter i zaznaczając każdy nowy wyraz wielką literą (Vector, HashMap, NewPupilFrame itd...) :)
Kodie
jest tu ktoś od javy ??:)
cytat:Kodie napisał:
Hmmm no nie obsługujesz wywołań przycisku:)
Powinieneś dodać wyświetlanie tych danych w funkcji actionPerformed;) popróbuj, a jak by co to napisz:)
Jeszcze jedna uwaga, nazwy klas zwyczajowo nazywa się poczynając od wielkich liter i zaznaczając każdy nowy wyraz wielką literą (Vector, HashMap, NewPupilFrame itd...) :)
Kodie
mów do mnie jeszcze !! ja dopiero zaczyna sie uczyć javy więc jezeli mozna to bardziej konkretne odpowiedzi poprosze :D
ok, sorry:) to może pokaże prostszy przykład:
import java.awt.*; import java.awt.event.* class PupilsFrame extends Frame implements WindowListener, ActionListener{ Panel pupilsMenu = new Panel(); Panel InfoPanel = new Panel(); Label lblName; Label lblAge; public PupilsFrame(){ super("Zwierzaki"); this.setSize(200,200); this.setLayout = new BorderLayout(); pupilsMenu.setLayout(new GridLayout(1,2)); Button btnDoggy = new Button("Piesek"); btnDoggy.addActionListener(this); pupilsMenu.add(btnDoggy); Button btnCat = new Button("Kotek"); btnCat.addActionListener(this); pupilsMenu.add(btnCat); this.add(pupilsMenu, BorderLayout.WEST); infoPane.setLayout(new GridLayout(1,2)); lblName = new Label(""); infoPane.add(lblName); lblAge = new Label(""); infoPane.add(lblAge); this.add(infoPane, BorderLayout.CENTER); } public void actionPerformed(ActionEvent evt){ if(((Button)evt.getSource()).getText().equals("Piesek")) { lblName.setText("Piesio"); lblAge.setText("2"); }else{ lblName.setText("Kotuś"); lblAge.setText("3"); } } public static void main(String[] args){ new PupilsFrame().show(); } public void windowClosing(WindowEvent e) { System.exit(0); } public void windowClosed(WindowEvent e) {} public void windowOpened(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} }
mam nadzieje, że jako tako działa:) :D ale nie ręczę:)
Kodie
6 błędów :D
ogólnie to dzieki za zainteresowanie !! jednak to źródełko jest to dla mnie totalnie nie zrozumiałe :D
Sorki, to powinno być już dobre, jednak radzę ci poczytać jakiś kurs w internecie, bo jednak będzie ci łatwiej:):
import java.awt.*;//importowanie klas obsługujących okienka import java.awt.event.*;//importowanie klas obsługujących wydarzenia class PupilsFrame extends Frame implements WindowListener, ActionListener{ /*Definicja klasy, dziedziczy z ramki (dzięki temu możemy pokazać okienko) i implementuje interfejsy odpowiedzialne za 1. obsługe okba (zamykanie), 2. obłsuge akcji*/ /*na tych panelach porozmieszczamy odpowiednie komponenty*/ Panel pupilsMenu = new Panel(); Panel infoPane = new Panel(); /*komponenty te muszą być globalnie, aby móc zmieniać ich zawartość z każdej metody (zazwyczaj wszystkie, kontrolki są globalnie, ale mi się nie chciało:D*/ Label lblName; Label lblAge; /*Konstruktor - używa się go przy inicjacji klasy (new ...)*/ public PupilsFrame(){ super("Zwierzaki"); // wywołanie konstruktora klasy Frame this.setSize(200,200); // zmiana rozmiaru this.setLayout( new BorderLayout()); // nadanie nowego layout'u pupilsMenu.setLayout(new GridLayout(1,2)); /*nowy przycisk*/ Button btnDoggy = new Button("Piesek"); btnDoggy.addActionListener(this); pupilsMenu.add(btnDoggy); Button btnCat = new Button("Kotek"); btnCat.addActionListener(this); pupilsMenu.add(btnCat); this.add(pupilsMenu, BorderLayout.WEST); infoPane.setLayout(new GridLayout(1,2)); lblName = new Label(""); infoPane.add(lblName); lblAge = new Label(""); infoPane.add(lblAge); this.add(infoPane, BorderLayout.CENTER); } /**obsługa akcji (dzięki addActionListener(this)) public void actionPerformed(ActionEvent evt){ //obsługa odpowiednich przypadków if(((Button)evt.getSource()).getLabel().equals("Piesek")) { lblName.setText("Piesio"); lblAge.setText("2"); }else{ lblName.setText("Kotuś"); lblAge.setText("3"); } } /* ta porcedura uruchamiana jest przy uruchomieniu programu public static void main(String[] args){ new PupilsFrame().show(); } /*obsługa okna*/ public void windowClosing(WindowEvent e) { System.exit(0); } public void windowClosed(WindowEvent e) {} public void windowOpened(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} }
Kodie