Guten Morgaen @all,
nun habe ich ein Layout gefunden was sich eigentlich gut handeln lässt, jaedoch passieren wieder Dinge die ich nicht wirklich nachvollziehen kann.
Die GUI wird ordentlich angezeigt bis ich den ActionListener beim JButten aktiviere, bzw. hinzufüge. Dann zerballert es mir das ganze Layout.
Hier mal meine Codes.
ProgrammFrame
LoginGui
Sobald ich in der LoginGui die Zeile 167 nicht mehr als Kommentar im Code habe, also der Action Listener dann aktiv hinzugefügt wird dem JButton, zerschißt es mein ganzes Layout.
Könnt ihr mir vieleiht weiterhelfen und erklären warum das passiert?
Vielen Dank für eure Zeit und Mühe sowie Hilfe.
Mfg Lit-Web
nun habe ich ein Layout gefunden was sich eigentlich gut handeln lässt, jaedoch passieren wieder Dinge die ich nicht wirklich nachvollziehen kann.
Die GUI wird ordentlich angezeigt bis ich den ActionListener beim JButten aktiviere, bzw. hinzufüge. Dann zerballert es mir das ganze Layout.
Hier mal meine Codes.
ProgrammFrame
Java:
package GUIClasses;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.*;
import ConnectClasses.DbConnect;
import com.cloudgarden.layout.AnchorLayout;
import com.cloudgarden.layout.AnchorConstraint;
import java.sql.*;
/**
*
* @author LitWeb (Daniel Seelig)
*
* @discription
* Hauptprogrammfenster
*
* */
public class ProgramFrameGui extends JFrame {
protected LoginFormGui login;
protected AnchorLayout anl;
protected AnchorConstraint anc;
protected DbConnect dbCon;
/**
*
* Konstruktor
*
* */
public ProgramFrameGui ( DbConnect pDbCon ) {
super( "Kontakt und Adressverwaltung von Lit-Web" );
dbCon = pDbCon;
init();
initGui();
}
protected void init () {
anl = new AnchorLayout();
anc = new AnchorConstraint();
login = new LoginFormGui( dbCon );
}
/**
*
* GUI Elemente Initialisierer
*
* */
protected void initGui () {
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setLayout( anl );
this.setSize( new Dimension( 900, 700 ));
this.add( login, new AnchorConstraint( 0, 0, 0, 0, AnchorConstraint.ANCHOR_NONE, AnchorConstraint.ANCHOR_NONE, AnchorConstraint.ANCHOR_NONE, AnchorConstraint.ANCHOR_NONE ) );
this.setVisible( true );
}
}
LoginGui
Java:
package GUIClasses;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import CheckClasses.LoginCheck;
import ConnectClasses.DbConnect;
import com.cloudgarden.layout.AnchorLayout;
import com.cloudgarden.layout.AnchorConstraint;
import java.sql.*;
public class LoginFormGui extends JPanel {
protected AnchorLayout anl;
protected AnchorConstraint anc;
protected JPanel pnlLogin;
protected JTextField txtLogName;
protected JTextField txtLogPwd;
protected JLabel lblLogName;
protected JLabel lblLogPwd;
protected JButton btnLogin;
protected LoginCheck ckLogin;
protected DbConnect dbCon;
public LoginFormGui ( DbConnect pDbCon ) {
dbCon = pDbCon;
init();
initGui();
}
protected void init () {
anl = new AnchorLayout();
anc = new AnchorConstraint();
pnlLogin = new JPanel();
txtLogName = new JTextField();
txtLogPwd = new JTextField();
lblLogName = new JLabel();
lblLogPwd = new JLabel();
btnLogin = new JButton();
ckLogin = new LoginCheck();
}
protected void initGui () {
this.setBackground( new Color( 255, 255, 255 ) );
this.setLayout( anl );
this.pnlLogin();
this.add( pnlLogin, new AnchorConstraint(
200,
200,
200,
200,
AnchorConstraint.ANCHOR_ABS,
AnchorConstraint.ANCHOR_ABS,
AnchorConstraint.ANCHOR_ABS,
AnchorConstraint.ANCHOR_ABS
)
);
this.showLblLogName();
this.showLblLogPwd();
this.showTxtLoginName();
this.showTxtLoginPwd();
this.showBtnLogin();
}
protected void pnlLogin () {
pnlLogin.setBackground( new Color( 155, 155, 255 ) );
pnlLogin.setLayout( anl );
pnlLogin.add( lblLogName, new AnchorConstraint(
200,
350,
370,
200,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL
)
);
pnlLogin.add( lblLogPwd, new AnchorConstraint(
400,
350,
570,
200,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL
)
);
pnlLogin.add( txtLogName, new AnchorConstraint(
240,
780,
320,
470,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL
)
);
pnlLogin.add( txtLogPwd, new AnchorConstraint(
450,
780,
530,
470,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL
)
);
pnlLogin.add( btnLogin, new AnchorConstraint(
580,
780,
660,
490,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL,
AnchorConstraint.ANCHOR_REL
)
);
}
protected void showLblLogName () {
lblLogName.setText( "Loginname" );
lblLogName.setPreferredSize( new Dimension( 120, 20 ) );
lblLogName.setFont( new Font( "Arial", Font.BOLD, 12 ) );
lblLogName.setForeground( Color.black );
}
protected void showLblLogPwd () {
lblLogPwd.setText( "Password" );
lblLogPwd.setPreferredSize( new Dimension( 120, 20 ) );
lblLogPwd.setFont( new Font( "Arial", Font.BOLD, 12 ) );
lblLogPwd.setForeground( Color.black );
}
protected void showTxtLoginName () {
txtLogName.setPreferredSize( new Dimension( 120, 20 ) );
}
protected void showTxtLoginPwd () {
txtLogPwd.setPreferredSize( new Dimension( 120, 20 ) );
}
protected void showBtnLogin () {
btnLogin.setPreferredSize( new Dimension( 80, 20 ) );
btnLogin.setText( "Login" );
btnLogin.setBackground( Color.black );
btnLogin.setFont( new Font( "Arial", Font.BOLD, 12 ) );
btnLogin.setForeground( Color.white );
// btnLogin.addActionListener( new BtnLoginAction( this ) );
}
/**
*
* Hilfsklasse um das Login Panel bei einem erfolgreichen Login auszublenden
* und das Programmbedieungspanel einzublenden
*
* */
class BtnLoginAction implements ActionListener {
protected JPanel logPnl;
/*
*
* Konstruktor
* @param pLoginPanel:JPanel
* LoginPanel Object wird bei erfolgreichen login ausgeblendet
*
* */
public BtnLoginAction ( JPanel pLoginPanel ) {
logPnl = pLoginPanel;
}
public void actionPerformed ( ActionEvent pEvent ) {
boolean logged = ckLogin.checkLogin( dbCon, txtLogName.getText(), txtLogPwd.getText() );
if ( logged == true ) {
logPnl.setVisible( false );
}
}
}
}
Sobald ich in der LoginGui die Zeile 167 nicht mehr als Kommentar im Code habe, also der Action Listener dann aktiv hinzugefügt wird dem JButton, zerschißt es mein ganzes Layout.
Könnt ihr mir vieleiht weiterhelfen und erklären warum das passiert?
Vielen Dank für eure Zeit und Mühe sowie Hilfe.
Mfg Lit-Web
Zuletzt bearbeitet: