Guten Abend Leute,
in der Schule programmieren wir derzeit eine Bank. Hierzu möchte ich eine anschauliche GUI entwickeln. Dies funktioniert auch soweit, allerdings habe ich ein Problem mit einem Grafikfehler.
Ich benötige keine Lösung des Problems, vielmehr bin ich an der Ursache interessiert so das ich das Problem lösen kann. Das erste Bild zeigt die GUI wie sie aussieht, wenn man diese just gestartet hat, das zweite Bild zeigt diese sobald man auf einen der 2 großen Buttons gedrückt hat.
Ich freue mich über jede/n Idee/Hinweise
Quellcode:
in der Schule programmieren wir derzeit eine Bank. Hierzu möchte ich eine anschauliche GUI entwickeln. Dies funktioniert auch soweit, allerdings habe ich ein Problem mit einem Grafikfehler.
Ich benötige keine Lösung des Problems, vielmehr bin ich an der Ursache interessiert so das ich das Problem lösen kann. Das erste Bild zeigt die GUI wie sie aussieht, wenn man diese just gestartet hat, das zweite Bild zeigt diese sobald man auf einen der 2 großen Buttons gedrückt hat.
Ich freue mich über jede/n Idee/Hinweise


Quellcode:
Java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package itabank;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EtchedBorder;
import javax.swing.plaf.ColorUIResource;
/**
*
* @author
*/
public class ITABank extends JPanel {
// Declare Variables, Arrays, Objects
//--> Variabels
private int i_ScreenHeight = 600;
private int i_ScreenWidth = 900;
private int i_HeaderHeight = 40;
private int i_HeaderWidth = i_ScreenWidth;
private JLabel lbl_Header;
private JButton btn_Transaktion;
private JButton btn_Konto;
//--> Arrays
//--> Objects
private static JFrame jP_Frame = new JFrame("Desktop");
private final JPanel jP_Konto = new JPanel( null );
private final JPanel jP_Transaktion = new JPanel( null );
public ITABank() {
// JFrame
setBackground( Color.WHITE );
setBorder( BorderFactory.createLineBorder(Color.BLACK) );
setPreferredSize (new Dimension (i_ScreenWidth, i_ScreenHeight));
setLayout(null);
// Header
lbl_Header = new JLabel("<html><h3 style='color: #ffffff; '>ITABank</h3></html>");
lbl_Header.setSize(57, i_HeaderHeight);
lbl_Header.setLocation( i_HeaderWidth/2-lbl_Header.getWidth(), 0);
add(lbl_Header);
// Menu
btn_Transaktion = new JButton("Transaktion tätigen");
btn_Transaktion.setSize(( i_HeaderWidth-24) / 2, 50);
btn_Transaktion.setLocation(6, i_HeaderHeight+6);
add(btn_Transaktion);
add(lbl_Header);
btn_Konto = new JButton("Ihr Konto");
btn_Konto.setSize(( i_HeaderWidth-24) / 2, 50);
btn_Konto.setLocation(btn_Transaktion.getWidth()+18, i_HeaderHeight+6);
add(btn_Konto);
// JPanels
jP_Transaktion.setSize( i_ScreenWidth-12, i_ScreenHeight-(i_HeaderHeight*4) );
jP_Transaktion.setLocation(6, i_HeaderHeight*3);
jP_Transaktion.setBorder( BorderFactory.createEtchedBorder(EtchedBorder.RAISED) );
add(jP_Transaktion);
JButton test = new JButton("Transaktionen");
test.setBounds(20, 20, 200, 20);
jP_Transaktion.add( test );
jP_Konto.setSize( i_ScreenWidth-12, i_ScreenHeight-(i_HeaderHeight*4) );
jP_Konto.setLocation(6, i_HeaderHeight*3);
jP_Konto.setBorder( BorderFactory.createEtchedBorder(EtchedBorder.RAISED) );
add(jP_Konto);
JButton test2 = new JButton("Konto");
test2.setBounds(20, 20, 200, 20);
jP_Konto.add( test2 );
// ActionListener
btn_Transaktion.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jP_Konto.setVisible(false);
jP_Transaktion.setVisible(true);
}
} );
btn_Konto.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jP_Konto.setVisible(true);
jP_Transaktion.setVisible(false);
}
} );
} // constructor
@Override
public void paintComponent( Graphics g) {;
Graphics2D g2d = (Graphics2D) g.create();
Color myColor = new Color(93, 198, 0);
Color myColor2 = new Color(82, 130, 0);
GradientPaint gp_Header = new GradientPaint(getWidth()/2, 0, myColor, getWidth()/2, i_HeaderHeight, myColor2);
g2d.setPaint(gp_Header);
g2d.fillRect(0, 0, i_HeaderWidth, i_HeaderHeight);
} // + void paintComponent
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
jP_Frame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);
jP_Frame.getContentPane().add (new ITABank());
jP_Frame.setUndecorated(true);
jP_Frame.pack();
jP_Frame.setResizable(false);
jP_Frame.setLocationRelativeTo(null);
jP_Frame.setVisible(true);
} // + static void main
} // + class ITABank extends JPanel