Hallo ich habe ein Problem,ich versuche seit stunden und such im Intern,ich will mein JPanel vergrößern aber irgendwie geht das nicht
Das ist das Code ,ich weiß es ist nicht gut formatiert aber ich wollte nur zeigen was mein Problem genau ist,es gibt zwei JFrames und in eins davon ist das JScrollPane
Vielen Dank
Java:
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.util.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class Datum extends JFrame implements KeyListener , ActionListener {
Calendar osternDatum;
Date f=new Date();
JPanel panel=new JPanel();
JPanel panelZeitBerechnen=new JPanel();
JPanel panel3=new JPanel();
JFrame hauptFrame=new JFrame("Aktuelle Zeit");
JFrame feiertagFrame=new JFrame("Feier Tage");
JLabel zeitLabel=new JLabel("Die Aktuelle Zeit ist : "+this.f);
JTextField osternJahr=new JTextField("Geben Sie das Jahr um Osternstermin zu finden");
JTextField textTag=new JTextField("Geben Sie den gewünschten Tag",40);
JTextField textMonat=new JTextField("Geben Sie den gewünschte Monat",40);
JTextField textJahr=new JTextField("Geben Sie das gewünschte Jahr",40);
JLabel ergebnis=new JLabel("Das Ergebnis");
int textJahrInt,textMonatInt,textTagInt;
JButton button=new JButton("Fertig");
Datum() {
this.hauptFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.osternJahr.addKeyListener(this);
this.textTag.addKeyListener(this);
this.textMonat.addKeyListener(this);
this.textJahr.addKeyListener(this);
this.button.addActionListener(this);
this.panelZeitBerechnen.setLayout(new FlowLayout());
this.panelZeitBerechnen.add(this.textTag);
this.panelZeitBerechnen.add(this.textMonat);
this.panelZeitBerechnen.add(this.textJahr);
this.panelZeitBerechnen.add(this.button);
hauptFrame.getContentPane().add(panel);
hauptFrame.getContentPane().add(this.panelZeitBerechnen);
panel.add(zeitLabel);
this.panel.add(this.osternJahr);
this.hauptFrame.setLayout(new GridLayout(2,1));
this.panel.setLayout(new GridLayout(3,2));
this.hauptFrame.pack();
this.hauptFrame.setVisible(true);
this.feiertagFrame.setVisible(true);
}
void konvertierungMoeglich() throws Exception{
int jahr=Integer.parseInt(this.osternJahr.getText());
}
void feiertage(){
this.feiertagFrame.setLayout(new GridLayout(10,1));
this.panel3.setLayout(new GridLayout(10,2));
JPanel[] panels=new JPanel[11];
for(int i=2007;i<2018;++i){
JLabel zwischenjahreLabel=new JLabel("Feste vom Jhar"+i);
Calendar osternDatum2=ostersonntag(i);
panels[i-2007]=new JPanel();
panels[i-2007].add(zwischenjahreLabel);
osternDatum2.add(Calendar.DATE, 60);
JLabel fronleichnam2=new JLabel("Das Fronleichnam ist 60 Tagen nach dem Ostern also am :"+osternDatum2.getTime());
panels[i-2007].add(fronleichnam2);
osternDatum2.add(Calendar.DATE, -21);
JLabel himmelsFahrt2=new JLabel("Die Himmelfahrt ist 39 Tagen nach dem Ostern also am: "+osternDatum2.getTime());
panels[i-2007].add(himmelsFahrt2);
osternDatum2.add(Calendar.DATE, 11);
JLabel pfingsten2 =new JLabel("Das Pfingsten ist 50 Tagen nach dem Ostern also am: "+osternDatum2.getTime());
panels[i-2007].add(pfingsten2);
this.panel3.add(panels[i-2007]);
}
JScrollPane scroll=new JScrollPane(panel3);
this.feiertagFrame.add(scroll);
scroll.setPreferredSize(getMaximumSize());
this.feiertagFrame.pack();
this.feiertagFrame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Datum f=new Datum();
f.feiertage();
}
});
}
public void keyPressed(KeyEvent arg0) {
}
@Override
public void keyReleased(KeyEvent arg0) {
if(arg0.getSource()==this.osternJahr){
if(arg0.getKeyCode()==KeyEvent.VK_ENTER){
try {
konvertierungMoeglich();
int jahr=Integer.parseInt(this.osternJahr.getText());
if(jahr<1583){
this.osternJahr.setText("Die Eingabe ist Falsch");
}
else{
osternDatum=ostersonntag(jahr);
JLabel osternLabel=new JLabel("Ostern vom Jahr "+this.osternJahr.getText()+"ist am "+osternDatum.getTime());
this.panel.add(osternLabel);
osternDatum.add(Calendar.DATE, 60);
JLabel fronleichnam=new JLabel("Das Fronleichnam ist 60 Tagen nach dem Ostern also am :"+osternDatum.getTime());
this.panel.add(fronleichnam);
this.osternDatum.add(Calendar.DATE, -21);
JLabel himmelsFahrt=new JLabel("Die Himmelfahrt ist 39 Tagen nach dem Ostern also am: "+osternDatum.getTime());
this.panel.add(himmelsFahrt);
this.osternDatum.add(Calendar.DATE, 11);
JLabel pfingsten =new JLabel("Das Pfingsten ist 50 Tagen nach dem Ostern also am: "+osternDatum.getTime());
this.panel.add(pfingsten);
this.hauptFrame.pack();
this.hauptFrame.setVisible(true);
}
}
catch (Exception e) {
this.osternJahr.setText("Die Eingabe ist falsch");
}
}
}
if(arg0.getSource()==this.textJahr){
if(arg0.getKeyCode()==KeyEvent.VK_ENTER){
try{
this.textJahrInt=Integer.parseInt(this.textJahr.getText());
}
catch(Exception e){
this.textJahr.setText("Falsche Eingabe");
}
}
if(arg0.getSource()==this.textMonat){
if(arg0.getKeyCode()==KeyEvent.VK_ENTER){
try{
this.textMonatInt=Integer.parseInt(this.textMonat.getText());
}
catch(Exception e){
this.textMonat.setText("Falsche Eingabe");
}
}
if(arg0.getSource()==this.textTag){
if(arg0.getKeyCode()==KeyEvent.VK_ENTER){
try{
this.textTagInt=Integer.parseInt(this.textTag.getText());
}
catch(Exception e){
this.textTag.setText("Falsche Eingabe");
}
}
}
}
}
}
public static Calendar ostersonntag( int year )
{
int i = year % 19;
int j = year / 100;
int k = year % 100;
int l = (19 * i + j - (j / 4) - ((j - ((j + 8) / 25) + 1) / 3) + 15) % 30;
int m = (32 + 2 * (j % 4) + 2 * (k / 4) - l - (k % 4)) % 7;
int n = l + m - 7 * ((i + 11 * l + 22 * m) / 451) + 114;
int month = n / 31;
int day = (n % 31) + 1;
return new GregorianCalendar( year, month - 1, day );
}
public void keyTyped(KeyEvent arg0) {
}
@Override
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource()==this.button){
try{
this.textJahrInt=Integer.parseInt(this.textJahr.getText());
this.textTagInt=Integer.parseInt(this.textTag.getText());
this.textMonatInt=Integer.parseInt(this.textMonat.getText());
Calendar zeitBerechnung=new GregorianCalendar(this.textJahrInt,this.textMonatInt,this.textTagInt);
Calendar aktuell =new GregorianCalendar();
Calendar ergebnisCalendar=new GregorianCalendar();
ergebnisCalendar.setTimeInMillis(zeitBerechnung.getTimeInMillis()-aktuell.getTimeInMillis());
this.ergebnis.setText(ergebnisCalendar.getTime().toString());
this.panelZeitBerechnen.add(this.ergebnis);
this.hauptFrame.setVisible(true);
this.hauptFrame.pack();
}
catch(Exception e){
this.ergebnis.setText("Zumindest Eins der Eingaben ist falsch jahr ist");
this.panelZeitBerechnen.add(this.ergebnis);
this.hauptFrame.setVisible(true);
this.hauptFrame.pack();
}
}
}
}
Vielen Dank