Punktezähler

Status
Nicht offen für weitere Antworten.
P

Punktetafel

Gast
hallo

ich habe folgendes Problem: ich würde gerne eine Punktetafel erstellen. Ich habe mir schon Gedanken bezüglich des Layouts gemacht und habe mich für ein sehr einfaches Modell ohne viel Schnick-Schnack entschieden.

Hier meine Idee: Ich wurde gerne zwei Fenster (quasi Displays) erstellen unter denen jeweils zwei Pfeile (hoch und runter) ODER ein "+" und ein "-" als Buttons zu finden sind. Ziel ist es, dass beim Anklicken der Buttons die Punktezahl auf dem "Display" steigt, so dass man immer den aktuellen Punktestand ablesen kann.

Bei der Umsetzung dieser Idee bin ich auf Schwierigkeiten gestoßen, da ich relativ wenig Praxis in solchen Sachen habe.

Wäre nett, wenn ihr mir helfen könnten

MFG
 
P

Punktetafel

Gast
import java.applet.*; import java.awt.*; import java.awt.event.*;

public class punkte extends Applet{
int lehrer;
int schueler;
Label l1,l2;
TextField tf1,tf2;
Button b1,b2,b3,b4;

public void init (){
l1=new Label ("Lehrer");
l2=new Label ("Schüler");
tf1=new TextField(10);
tf2=new TextField(10);
b1= new Button("+");
b2=new Button("-");
b3=new Button("+");
b4=new Button("-");
lehrer = 0;
schueler= 0;
setLayout(new GridLayout(4,2,9,5));
add(l1); add(l2);
add(tf1); add(tf2);
add(b1); add(b3);
add(b2); add(b4);

tf1.setText(""+lehrer);
tf2.setText(""+schueler);

b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
lehrer=lehrer+1;
tf1.setText(""+lehrer);
}
});
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
lehrer=lehrer-1;
tf1.setText(""+lehrer);
}
});
b3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
schueler=schueler+1;
tf2.setText(""+schueler);
}
});
b4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
schueler=schueler-1;
tf2.setText(""+schueler);
}
});
}
}



=> so weit bin ich... ich würde aber gerne, dass die buttons kleiner werden; die Schrift in den "Displays" größer und zentriert (also quasi in der Mitte) und die Überschriften größer und zentriert werden
 

The_S

Top Contributor
- kleiner Buttons wirste ohne Wechsel des Layouts nicht hinbekommen
- du kannst die Schrift mit setFont verändern
- setAlignment kannst du die Position des Textes verändern
- nächstes mal bitte Code-Tags verwenden
 
P

Punktetafel

Gast
wenn du Zeit haben solltest... bekommst du eine "bessere" Version hin... das alles ist für einen Abi-Ball und soll per Beamer an die Wand projiziert werden...

wäre also gut wenn es einigermaßen gut aussehen würde

ich bin mit dem, was ich vorhin geposte habe schon am Ende meines Lateins

wäre sehr nett

MFG
 

Jonnsn

Bekanntes Mitglied
in der Art?

Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class punkte extends Applet {
	int lehrer;

	int schueler;

	Label l1, l2;

	TextField tf1, tf2;

	Button b1, b2, b3, b4;

	public void init() {
		setSize(240,200);
		setLayout(null);
		l1 = new Label("Lehrer");
		l1.setBounds(10,10,100,10);
		l1.setAlignment(1);
		l2 = new Label("Schüler");
		l2.setBounds(120,10,100,10);
		l2.setAlignment(1);
		tf1 = new TextField(10);
		tf1.setFont(new Font("Arial",Font.BOLD,40));
		tf1.setBounds(10,40,100,50);
		tf2 = new TextField(10);
		tf2.setBounds(120,40,100,50);
		tf2.setFont(new Font("Arial",Font.BOLD,40));
		b1 = new Button("+");
		b1.setBounds(50,100,30,30);
		b2 = new Button("-");
		b2.setBounds(50,160,30,30);
		b3 = new Button("+");
		b3.setBounds(150,100,30,30);
		b4 = new Button("-");
		b4.setBounds(150,160,30,30);
		lehrer = 0;
		schueler = 0;
		add(l1);
		add(l2);
		add(tf1);
		add(tf2);
		add(b1);
		add(b3);
		add(b2);
		add(b4);

		tf1.setText("" + lehrer);
		tf2.setText("" + schueler);

		b1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lehrer = lehrer + 1;
				tf1.setText("" + lehrer);
			}
		});
		b2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lehrer = lehrer - 1;
				tf1.setText("" + lehrer);
			}
		});
		b3.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				schueler = schueler + 1;
				tf2.setText("" + schueler);
			}
		});
		b4.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				schueler = schueler - 1;
				tf2.setText("" + schueler);
			}
		});
	}
}
 
P

Punktetafel

Gast
boa vielen dank... das ist perfekt... die Überschrift "Lehrer" und "schüler" ist zwar ein wenig klein.. aber damit müsste ich zurecht kommen

wirkllich du hast mir sehr geholfen

nochmals danke
 
P

Punktetafel

Gast
ahhh... ich hab noch ein Problem... und zwar soll das Applet per Beamer an die WAnd projiziert werden, so dass jeder den Punktestand überwachen kann...

jetzt lässt sich das Applet aber nicht über den ganzen Bildschirm abbilden... wie kann ich das beheben...

wenn ihr noch Geduld und Durchhaltevermögen besitzt, um mir diese Frage zu beantworten, wäre ich euch sehr verbunden

MFG
 

Jonnsn

Bekanntes Mitglied
Anpassung der schriftgröße der Labels:
Code:
l1 = new Label("Lehrer");
      l1.setBounds(10,10,100,20);
      l1.setAlignment(1);
      l1.setFont(new Font("Arial",Font.BOLD,20));
      l2 = new Label("Schüler");
      l2.setBounds(120,10,100,20);
      l2.setAlignment(1);
      l2.setFont(new Font("Arial",Font.BOLD,20));

Das Applet größer kriegst du wenn du bei
Code:
 setSize(240,200);
erste Zahl = Breite
zweite Zahl = Höhe
die werte änderst - allerdings bezweifle ich dass das das ist was du willst :?
Ein Appelt einfach größer abbilden geht meines Wissens nach nicht...
höchstens eben alle Teile entsprechend vergrößern - das geht natürlich
 
G

Guest

Gast
Code:
import java.applet.*; 
import java.awt.*; 
import java.awt.event.*; 

public class punkte2 extends Applet { 
   int lehrer; 

   int schueler; 

   Label l1, l2; 

   TextField tf1, tf2; 

   Button b1, b2, b3, b4; 

   public void init() { 
      setSize(800,600);
      setFont(new Font("Arial",Font.BOLD,40));
      setLayout(null); 
      l1 = new Label("Lehrer"); 
      l1.setBounds(75,75,200,50); 
      l1.setAlignment(1); 
      l2 = new Label("Schüler"); 
      l2.setBounds(485,75,200,50); 
      l2.setAlignment(1); 
      tf1 = new TextField(10); 
      tf1.setFont(new Font("Arial",Font.BOLD,120)); 
      tf1.setBounds(100,140,150,150); 
      tf2 = new TextField(10); 
      tf2.setBounds(510,140,150,150); 
      tf2.setFont(new Font("Arial",Font.BOLD,120)); 
      b1 = new Button("+"); 
      b1.setBounds(150,370,50,50); 
      b2 = new Button("-"); 
      b2.setBounds(150,430,50,50); 
      b3 = new Button("+"); 
      b3.setBounds(560,370,50,50); 
      b4 = new Button("-"); 
      b4.setBounds(560,430,50,50); 
      lehrer = 0; 
      schueler = 0; 
      add(l1); 
      add(l2); 
      add(tf1); 
      add(tf2); 
      add(b1); 
      add(b3); 
      add(b2); 
      add(b4); 

      tf1.setText("" + lehrer); 
      tf2.setText("" + schueler); 

      b1.addActionListener(new ActionListener() { 
         public void actionPerformed(ActionEvent e) { 
            lehrer = lehrer + 1; 
            tf1.setText("" + lehrer); 
         } 
      }); 
      b2.addActionListener(new ActionListener() { 
         public void actionPerformed(ActionEvent e) { 
            lehrer = lehrer - 1; 
            tf1.setText("" + lehrer); 
         } 
      }); 
      b3.addActionListener(new ActionListener() { 
         public void actionPerformed(ActionEvent e) { 
            schueler = schueler + 1; 
            tf2.setText("" + schueler); 
         } 
      }); 
      b4.addActionListener(new ActionListener() { 
         public void actionPerformed(ActionEvent e) { 
            schueler = schueler - 1; 
            tf2.setText("" + schueler); 
         } 
      }); 
   } 
}



das ist schon mal größer... muss noch bissle probieren ... irgendwann ist es so wie ichs brauch :D

danke...
 

Jonnsn

Bekanntes Mitglied
eben ... so geht es natürlich.

merlin2 hat gesagt.:
Punktetafel hat gesagt.:
wäre also gut wenn es einigermaßen gut aussehen würde
Ich finde, dass Swing-Komponenten besser aussehen als AWT-Komponenten. :D
Das wäre übrigens die Swing Variante (noch kleines Format!):
Code:
import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class punkte extends Applet {
   int lehrer;

   int schueler;

   JLabel l1, l2;

   JTextField tf1, tf2;

   JButton b1, b2, b3, b4;

   public void init() {
      setSize(240,200);
      setLayout(null);
      l1 = new JLabel("Lehrer",JLabel.CENTER);
      l1.setBounds(10,10,100,20);
      l1.setFont(new Font("Arial",Font.BOLD,20));
      l2 = new JLabel("Schüler",JLabel.CENTER);
      l2.setBounds(120,10,100,20);
      l2.setFont(new Font("Arial",Font.BOLD,20));
      tf1 = new JTextField(10);
      tf1.setFont(new Font("Arial",Font.BOLD,40));
      tf1.setBounds(10,40,100,50);
      tf1.setAlignmentX(1);
      tf1.setHorizontalAlignment(JTextField.CENTER);
      tf2 = new JTextField(10);
      tf2.setBounds(120,40,100,50);
      tf2.setFont(new Font("Arial",Font.BOLD,40));
      tf2.setHorizontalAlignment(JTextField.CENTER);
      b1 = new JButton("+");
      b1.setBounds(40,100,45,30);
      b2 = new JButton("-");
      b2.setBounds(40,160,45,30);
      b3 = new JButton("+");
      b3.setBounds(150,100,45,30);
      b4 = new JButton("-");
      b4.setBounds(150,160,45,30);
      lehrer = 0;
      schueler = 0;
      add(l1);
      add(l2);
      add(tf1);
      add(tf2);
      add(b1);
      add(b3);
      add(b2);
      add(b4);

      tf1.setText("" + lehrer);
      tf2.setText("" + schueler);

      b1.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            lehrer = lehrer + 1;
            tf1.setText("" + lehrer);
         }
      });
      b2.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            lehrer = lehrer - 1;
            tf1.setText("" + lehrer);
         }
      });
      b3.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            schueler = schueler + 1;
            tf2.setText("" + schueler);
         }
      });
      b4.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            schueler = schueler - 1;
            tf2.setText("" + schueler);
         }
      });
   }
}
 

Jonnsn

Bekanntes Mitglied
anaja ich kenn die Vorteil von JApplet noch nciht so recht - aber du kannst gerne einfach mal aus dem extends Applet ein extends JApplet machen ;-)
 
P

Punktetafel

Gast
das was jetzt rausgekommen ist... ist um ein vielfaches besser als ich es mir jemals erhofft habe...
 

The_S

Top Contributor
Wenn du es über den Bildschirm ausbreiten möchtest, warum machst du dann kein JFrame draus, sondern bindest es ungünstigerweiße als Applet in eine Webiste ein? Und was mir auch nicht so ganz in den sinn kommen will, ist die Tatsache, dass es ja hier scheinbar um eine Präsentation mit statischem Inhalt geht. Warum verwendest du da dann nicht einfach PowerPoint oder eine ähnliche Präsentationssoftware ???:L

@Jonnsn

der Vorteil von JApplet ist, dass es Swing ist und kein AWT ;)
 

Jonnsn

Bekanntes Mitglied
Hobbit_Im_Blutrausch hat gesagt.:
Wenn du es über den Bildschirm ausbreiten möchtest, warum machst du dann kein JFrame draus, sondern bindest es ungünstigerweiße als Applet in eine Webiste ein? Und was mir auch nicht so ganz in den sinn kommen will, ist die Tatsache, dass es ja hier scheinbar um eine Präsentation mit statischem Inhalt geht. Warum verwendest du da dann nicht einfach PowerPoint oder eine ähnliche Präsentationssoftware ???:L
Zugegebenen - das hab ich mich auch gefagt :lol:
Hobbit_Im_Blutrausch hat gesagt.:
@Jonnsn

der Vorteil von JApplet ist, dass es Swing ist und kein AWT ;)
Aha.... :D Klasse. Dacht ich mir doch fast...
 
P

Punktetafel

Gast
Hey jungs

folgendes.. habt ihr ne ahnung wie man in den punktestand (erste version) ne digitale uhr einbringen könnte (also eine stopuhr mit drei knöpfen "reset" "start" und "stop"

das wäre mal interessant

liege grüße
 
P

Punktetafel

Gast
und wie soll man das bitte in eine powerpoint präsentation einbetten... ich bin leicht verwirrt...
 

The_S

Top Contributor
Du sollst das nicht in eine PowerPoint Präsentation einbetten, sondern wenn es einzig und allein der Präsentation von Sachverhalten und/oder Daten nutzt (wovon ich aufgrund des Thread-Verlaufs stark ausgehe), dann sollst du das Programm weglassen und gleich eine Präsentation machen.

Ja, das geht. Kannst die paint-Methode einer Componente überschreiben und dort die Uhr zeichnen. Die Klasse GregorianCalendar hilft dir bei der Zeit ermittlung. Außerdem sollte das ganze dann in einem seperaten Thread laufen, um die GUI nicht zu blockieren. Für den Stop, Start und Reste-Button kannst du ganz normale Buttons verwenden.

Erwarte aber nicht, dass dir jemand soetwas hier programmiert ;) .
 

merlin2

Top Contributor
Buttons ohne 'J' sind abnormal. Diese ganzen AWT-Komponenten sind Mist. Und wenn punktetafel dann tatsächlich Buttons(AWT) nimmt, kommt bei der derzeitigen Swing-Fassung seines Programms wohl nichts Gutes raus.
 

The_S

Top Contributor
Schonmal dran gedacht, dass man auch von "Knöpfen" aka "Buttons" im normalen Sinne reden kann, OHNE gleich bezug auf eine Klasse zu nehmen?
 

The_S

Top Contributor
... gut, ich rede in Zukunft von "Knöpfen" und "Auswahlbestätigungs-Einheiten" wenn ich einen Button meine, aber keine Klasse direkt ansprechen will :roll:

Soll ich jetzt noch meine Beiträge dementsprechend alle anpassen, damit unser Zauberer zufrieden ist?
 

merlin2

Top Contributor
Anscheinend verstehst du mich (absichtlich?) falsch. :(
Wenn du aber "normale Buttons" schreibst, nachdem bereits von AWT auf Swing gewechselt wurde, so könnte das tatsächlich (absichtlich) missverstanden werden.
Den Namen "Auswahlbestätigungs-Einheiten" find ich gut. :D
 

Jango

Gesperrter Benutzer
merlin2 hat gesagt.:
Anscheinend verstehst du mich (absichtlich?) falsch. :(
Wenn du aber "normale Buttons" schreibst, nachdem bereits von AWT auf Swing gewechselt wurde, so könnte das tatsächlich (absichtlich) missverstanden werden.
Den Namen "Auswahlbestätigungs-Einheiten" find ich gut. :D

Korinthenkacker :roll:
 

The_S

Top Contributor
merlin2 hat gesagt.:
Anscheinend verstehst du mich (absichtlich?) falsch. :(
Wenn du aber "normale Buttons" schreibst, nachdem bereits von AWT auf Swing gewechselt wurde, so könnte das tatsächlich (absichtlich) missverstanden werden.
Den Namen "Auswahlbestätigungs-Einheiten" find ich gut. :D

Ich verstehe dich nicht absichtlich falsch. Man kann ja darauf hinweisen, dass es sowohl JButtons und Buttons gibt. Aber bei einem mal sollte es dann auch gut sein und man muss nicht noch großartig darauf rumreiten. Zumal ich ja nichts dagegen gesagt hab ;) .
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben