Calendar GUI Buttons

eclipse89

Neues Mitglied
Hallo

ich hoffe ihr könnt mir weiterhelfen bin noch erst ein anfänger.
Ich soll Buttons erstellen da 2009, 2010, 2011, 2012 steht und Monats-Button z.B. Jan ist ein Button Feb ist ein Button usw.., den Buttons habe ich schon erstellt nun soll ich bei jeder geklickten Button ein Jahr und ein Monat aufrufen z.B. Button-2010 und Button-Mai klicken dan soll der ganzer Monat Mai erscheinen. Was ich nur kein beim klicken der Buttons nur die Hintergrundfarbe ändern 🙂

Hier nun der Code:
Java:
public class Calender extends JFrame implements  ActionListener {
	public JPanel panel;
	protected ActionEvent evt;

	
	public void createYear(){
		JButton b2009 = new JButton(exitAction09);
		b2009.setText("2009");
		b2009.setLocation(455, 10);
		b2009.setSize(80, 20);
		
		JButton b2010 = new JButton(exitAction10);
		b2010.setText("2010");
		b2010.setLocation(540, 10);
		b2010.setSize(80, 20);
		
		JButton b2011 = new JButton(exitAction11);
		b2011.setText("2011");
		b2011.setLocation(625, 10);
		b2011.setSize(80, 20);
		
		JButton b2012 = new JButton();
		b2012.setText("2012");
		b2012.setLocation(710, 10);
		b2012.setSize(80, 20);
		
		panel.add(b2009);
		panel.add(b2010);
		panel.add(b2011);
		panel.add(b2012);
	}

	Action exitAction09 = new AbstractAction() { 
		  public void actionPerformed( ActionEvent e) {
			    getContentPane().setBackground( Color.green );
			    repaint();

		  } 
		}; 

public void createMonth(){
		
		JButton jan = new JButton();
		jan.setText("Jan");
		jan.setLocation(15, 40);
		jan.setSize(60, 20);
		
		JButton feb = new JButton();
		feb.setText("Feb");
		feb.setLocation(80, 40);
		feb.setSize(60, 20);
		
		JButton mar = new JButton();
		mar.setText("Mär");
		mar.setLocation(145, 40);
		mar.setSize(60, 20);
		
		JButton apr = new JButton();
		apr.setText("Apr");
		apr.setLocation(210, 40);
		apr.setSize(60, 20);
		
		JButton mai = new JButton();
		mai.setText("Mai");
		mai.setLocation(275, 40);
		mai.setSize(60, 20);
		
		JButton juni = new JButton();
		juni.setText("Jun");
		juni.setLocation(340, 40);
		juni.setSize(60, 20);
		
		JButton juli = new JButton();
		juli.setText("Jul");
		juli.setLocation(405, 40);
		juli.setSize(60, 20);
		
		JButton aug = new JButton();
		aug.setText("Aug");
		aug.setLocation(470, 40);
		aug.setSize(60, 20);
		
		JButton sep = new JButton();
		sep.setText("Sep");
		sep.setLocation(535, 40);
		sep.setSize(60, 20);
		
		JButton okt = new JButton();
		okt.setText("Okt");
		okt.setLocation(600, 40);
		okt.setSize(60, 20);
		
		JButton nov = new JButton();
		nov.setText("Nov");
		nov.setLocation(665, 40);
		nov.setSize(60, 20);
		
		JButton dez = new JButton();
		dez.setText("Dez");
		dez.setLocation(730, 40);
		dez.setSize(60, 20);
		
		
		panel.add(jan);
		panel.add(feb);
		panel.add(mar);
		panel.add(apr);
		panel.add(mai);
		panel.add(juni);
		panel.add(juli);
		panel.add(aug);
		panel.add(okt);
		panel.add(sep);
		panel.add(nov);
		panel.add(dez);
	}

	public void createTableTitle(){
		JLabel ld = new JLabel("Datum");
		ld.setLocation(10, 100);
		ld.setSize(80, 20);
	panel.add(ld);

	public Calender() throws HeadlessException {
		// TODO Auto-generated constructor stub
		
		panel = new JPanel();
		panel.setLayout(null);
		
		setContentPane(panel);
		
		createYear();
		createMonth();
		createTableTitle();
}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calender calendar = new Calender();
		calendar.setSize(820,600);
		calendar.setLocation(50,50);
		calendar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		calendar.setVisible(true);
}


Wäre euch sehr dankbar wenn ihr mir helfen könntet 🙂

danke im vorraus
 
Zuletzt bearbeitet von einem Moderator:
Grundsätzlich würde ich die Buttons in einem Array oder einer List verwalten, das verschlankt den Code und verbessert die Übersichtlichkeit ungemein.
Ansonsten hab ich nicht verstanden wo das Problem liegt.
 
Ich soll Buttons erstellen da 2009, 2010, 2011, 2012 steht und Monats-Button z.B. Jan ist ein Button Feb ist ein Button usw.., den Buttons habe ich schon erstellt nun soll ich bei jeder geklickten Button ein Jahr und ein Monat aufrufen z.B. Button-2010 und Button-Mai klicken dan soll der ganzer Monat Mai erscheinen. Was ich nur kein beim klicken der Buttons nur die Hintergrundfarbe ändern
Google Translator? Keine ahnung was das bedeuten soll.
Aber warum in aller Welt verwendest du das keinen Layoutmanager. Spätestents wenn man geschätzte 1000 Zeile code nur fürs adden von Komponenten verbrät sollte man sich Gedanken machen ob man das nicht schneller und einfacher (und noch dazu besser) lösen kann.
Layoutmanager
Das könnte auch nützlich sein
 
Ich soll es ohne Array, List und Layoutmanager machen hat mein chef gesagt.
Also das problem ist ich soll beim klicken ein Button Datum anzeigen aber ganzen Monat
 
niemand versteht Textbausteine der Form
> beim klicken ein Button Datum anzeigen aber ganzen Monat

was soll angezeigt werden, was ist ein "Monat"?
irgendwo ein Text, welcher, wo,
ein ganzes Array mit allen 31 Tagen einzeln, wo wie?
tausende Details, aber keine richtige Frage
 

Neue Themen


Zurück
Oben