简体   繁体   English

无法从另一个类访问主类

[英]Can't access the main class from another class

I m working with NetBeans, and I m trying to program a program that has a user interface. 我正在使用NetBeans,我正在尝试编写一个具有用户界面的程序。
My main class is a JFrame form and its file name is HotelHG.java . 我的主类是JFrame表单,其文件名为HotelHG.java
I can write all the code in this file without any problem, but the code will be too complex and I will never be able to find code that I m looking for inside. 我可以毫无问题地将此文件中的所有代码编写出来,但是代码太复杂了,我将永远无法找到要在其中查找的代码。
So I created a new Java class named DataBaseConnection to put some code in. 因此,我创建了一个名为DataBaseConnection的新Java类来放入一些代码。

Here comes the problem: when I do 问题出现了:当我这样做的时候

public class DataBaseConnection extends HotelHG{
    //Some Codes...
}

I get: 我明白了:

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError at sun.awt.Win32GraphicsConfig.getBounds(Native Method) at sun.awt.Win32GraphicsConfig.getBounds(Win32GraphicsConfig.java:215) sun.awt.Win32GraphicsConfig.getBounds(本地方法)处sun.awt.Win32GraphicsConfig.getBounds(Win32GraphicsConfig.java:215)处的线程“ AWT-EventQueue-0”中的java.lang.StackOverflowError异常

So I tried to make public my HotelHG class components and tried to access them directly without extends , but then DataBaseConnection was unable to find HotelHG components. 因此,我试图公开我的HotelHG类组件,并尝试直接访问它们而没有extends ,但是DataBaseConnection无法找到HotelHG组件。

In short, I have an class in A.java that is a JFrame form and contains main() , and I have to access its components from another class, in B.java . 简而言之,我在A.java中有一个JFrame形式的类,其中包含main() ,而且我必须从B.java另一个类中访问其组件。

Update: 更新:

I checked my codes cant didn't found anything.So I added my codes in main class to see if the problem gonna be fixed. 我检查了我的代码,但是没有找到任何东西。所以我在主要课程中添加了我的代码,看看问题是否会得到解决。 But this time it gives same error for class C... I think I l newer find out whats going on here. 但是这一次它给类C带来了相同的错误...我想我会发现这里发生了什么。 I ll add the codes, so if you can take a look and find anything worng please let me know thanks again. 我将添加代码,因此,如果您可以看一下并发现任何破旧的东西,请再次告诉我。

Main Class Codes: 主要类别代码:

import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import javax.swing.JOptionPane;

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;



public class HotelHG extends javax.swing.JFrame{

    private Connection Con = null;
    private String Url     = "jdbc:mysql://localhost:3306/";
    private String Db      = "hotel_hg";
    private String Dri     = "com.mysql.jdbc.Driver";
    private String Root    = "root";
    private String Pass    = "";
    protected ResultSet Res;

    Tab1Codes MyCodes1 = new Tab1Codes();

    /** Creates new form HotelHG */
//============================================================================== I N S T A L L A T I O N ===========
    public HotelHG() {
        Statement st;
        try{
            st = OpenConnection();
            Res = st.executeQuery("select * from idpass");
        }catch(Exception ex){
            JOptionPane.showConfirmDialog(null,"Няма Достъп до Информатции!",
                    "Опит за Свързване на бази данни...",
                    JOptionPane.PLAIN_MESSAGE,
                    JOptionPane.ERROR_MESSAGE);
        }
        initComponents();
    }
//============================================================================== I N S T A L L A T I O N ===========


//=================================================================================================== OPEN CONNNECTION
    private Statement OpenConnection() throws Exception{
        try{
            Class.forName(Dri).newInstance();
        }catch(Exception ex){
            JOptionPane.showConfirmDialog(null,"Връзка с Дата Бейс Не е Успешна-Driver!",
                    "Опит за Свързване на бази данни...",
                    JOptionPane.PLAIN_MESSAGE,
                    JOptionPane.ERROR_MESSAGE);
        }
        try{
            Con = DriverManager.getConnection(Url + Db, Root, Pass);
        }catch(Exception ex){
            JOptionPane.showConfirmDialog(null,"Връзка с Дата Бейс Не е Успешна-Url!",
                    "Опит за Свързване на бази данни...",
                    JOptionPane.PLAIN_MESSAGE,
                    JOptionPane.ERROR_MESSAGE);
        }
        return Con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                    ResultSet.CONCUR_UPDATABLE);
    }
//=================================================================================================== OPEN CONNNECTION

//=================================================================================================== CLOSE CONNECTION
    public void CloseConnection(){
        try
        {
            Con.close();
        }catch(Exception ex)
        {
            Logger.getLogger(HotelHG.class.getName()).log(Level.SEVERE,null,ex);
        }
    }
//=================================================================================================== CLOSE CONNECTION

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        TabMenu = new javax.swing.JTabbedPane();
        Tab1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jSeparator1 = new javax.swing.JSeparator();
        IDBox1 = new javax.swing.JTextField();
        PassBox = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        EnterButton1 = new javax.swing.JButton();
        StatusLabel1 = new javax.swing.JLabel();
        ExitButton1 = new javax.swing.JButton();
        Tab2 = new javax.swing.JPanel();
        jTextField1 = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        Tab3 = new javax.swing.JPanel();
        Tab4 = new javax.swing.JPanel();
        Tab5 = new javax.swing.JPanel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Хотел Heaven Garden");
        setMinimumSize(null);
        setResizable(false);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });

        TabMenu.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
        TabMenu.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        TabMenu.setFont(new java.awt.Font("Consolas", 1, 14)); // NOI18N

        Tab1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED, null, new java.awt.Color(204, 0, 0), new java.awt.Color(204, 0, 0), null));

        jLabel1.setFont(new java.awt.Font("Consolas", 2, 24));
        jLabel1.setText("Heaven Garden Главно меню:"); // NOI18N
        jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        jLabel2.setFont(new java.awt.Font("Consolas", 2, 24));
        jLabel2.setText("-Напишете паролата си за да активирате контролите на меню..."); // NOI18N
        jLabel2.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        jLabel3.setFont(new java.awt.Font("Consolas", 2, 24));
        jLabel3.setText("-Само администратора може да активира всичките менюта!"); // NOI18N
        jLabel3.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        jLabel4.setFont(new java.awt.Font("Consolas", 2, 24));
        jLabel4.setText("-При три грешени опити програмата ще се заключва!"); // NOI18N
        jLabel4.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        IDBox1.setFont(new java.awt.Font("Consolas", 2, 18));

        PassBox.setFont(new java.awt.Font("Consolas", 2, 18));

        jLabel5.setFont(new java.awt.Font("Consolas", 0, 18));
        jLabel5.setText("Потребителско Име:");

        jLabel6.setFont(new java.awt.Font("Consolas", 0, 18));
        jLabel6.setText("Парола:");

        EnterButton1.setFont(new java.awt.Font("Consolas", 1, 18));
        EnterButton1.setText("Влизай");
        EnterButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                EnterButton1ActionPerformed(evt);
            }
        });

        StatusLabel1.setFont(new java.awt.Font("Consolas", 0, 24));
        StatusLabel1.setText("Статус:Няма Достъп");

        ExitButton1.setFont(new java.awt.Font("Consolas", 1, 18));
        ExitButton1.setText("Изход");
        ExitButton1.setActionCommand("jButton1");

        javax.swing.GroupLayout Tab1Layout = new javax.swing.GroupLayout(Tab1);
        Tab1.setLayout(Tab1Layout);
        Tab1Layout.setHorizontalGroup(
            Tab1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Tab1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Tab1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jSeparator1)
                    .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, Tab1Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(Tab1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel6)
                            .addComponent(IDBox1)
                            .addComponent(PassBox)
                            .addComponent(EnterButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(StatusLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(ExitButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                .addContainerGap(15, Short.MAX_VALUE))
        );
        Tab1Layout.setVerticalGroup(
            Tab1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Tab1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(4, 4, 4)
                .addComponent(jLabel5)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(IDBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel6)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PassBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(EnterButton1)
                .addGap(18, 18, 18)
                .addComponent(StatusLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(ExitButton1)
                .addContainerGap(12, Short.MAX_VALUE))
        );

        TabMenu.addTab("Главно меню", new javax.swing.ImageIcon(getClass().getResource("/Pics/Admin.png")), Tab1); // NOI18N
        Tab1.getAccessibleContext().setAccessibleName("Tab1");

        Tab2.setBorder(javax.swing.BorderFactory.createCompoundBorder(null, new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED)));
        Tab2.setEnabled(false);

        jTextField1.setText("jTextField1");

        jButton1.setText("jButton1");

        javax.swing.GroupLayout Tab2Layout = new javax.swing.GroupLayout(Tab2);
        Tab2.setLayout(Tab2Layout);
        Tab2Layout.setHorizontalGroup(
            Tab2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Tab2Layout.createSequentialGroup()
                .addGap(32, 32, 32)
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton1)
                .addContainerGap(633, Short.MAX_VALUE))
        );
        Tab2Layout.setVerticalGroup(
            Tab2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Tab2Layout.createSequentialGroup()
                .addGap(48, 48, 48)
                .addGroup(Tab2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1))
                .addContainerGap(360, Short.MAX_VALUE))
        );

        TabMenu.addTab("Рецепция", new javax.swing.ImageIcon(getClass().getResource("/Pics/Reception.png")), Tab2); // NOI18N
        Tab2.getAccessibleContext().setAccessibleName("Tab2");

        Tab3.setBorder(javax.swing.BorderFactory.createCompoundBorder(null, new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED)));
        Tab3.setEnabled(false);

        javax.swing.GroupLayout Tab3Layout = new javax.swing.GroupLayout(Tab3);
        Tab3.setLayout(Tab3Layout);
        Tab3Layout.setHorizontalGroup(
            Tab3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 803, Short.MAX_VALUE)
        );
        Tab3Layout.setVerticalGroup(
            Tab3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 431, Short.MAX_VALUE)
        );

        TabMenu.addTab("Резервация", new javax.swing.ImageIcon(getClass().getResource("/Pics/Reservation.png")), Tab3); // NOI18N
        Tab3.getAccessibleContext().setAccessibleName("Tab3");

        Tab4.setBorder(javax.swing.BorderFactory.createCompoundBorder(null, new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED)));
        Tab4.setEnabled(false);

        javax.swing.GroupLayout Tab4Layout = new javax.swing.GroupLayout(Tab4);
        Tab4.setLayout(Tab4Layout);
        Tab4Layout.setHorizontalGroup(
            Tab4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 803, Short.MAX_VALUE)
        );
        Tab4Layout.setVerticalGroup(
            Tab4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 431, Short.MAX_VALUE)
        );

        TabMenu.addTab("Ресторант", new javax.swing.ImageIcon(getClass().getResource("/Pics/desk.png")), Tab4); // NOI18N
        Tab4.getAccessibleContext().setAccessibleName("Tab4");

        Tab5.setBorder(javax.swing.BorderFactory.createCompoundBorder(null, javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED)));
        Tab5.setEnabled(false);

        javax.swing.GroupLayout Tab5Layout = new javax.swing.GroupLayout(Tab5);
        Tab5.setLayout(Tab5Layout);
        Tab5Layout.setHorizontalGroup(
            Tab5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 805, Short.MAX_VALUE)
        );
        Tab5Layout.setVerticalGroup(
            Tab5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 433, Short.MAX_VALUE)
        );

        TabMenu.addTab("Работници", new javax.swing.ImageIcon(getClass().getResource("/Pics/w1.png")), Tab5); // NOI18N
        Tab5.getAccessibleContext().setAccessibleName("Tab5");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(TabMenu, javax.swing.GroupLayout.PREFERRED_SIZE, 820, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(TabMenu, javax.swing.GroupLayout.PREFERRED_SIZE, 518, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        TabMenu.getAccessibleContext().setAccessibleName("TabMenu");

        pack();
    }// </editor-fold>                        
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new HotelHG().setVisible(true);
            }
        });
    }

//============================================================================== FORM OPEN - CLOSE
    private void formWindowClosing(WindowEvent evt) {                                   
        CloseConnection();
    }                                  

    private void formWindowOpened(WindowEvent evt) {                                  
        if(!MyCodes1.LockAll())
            System.exit(1);
    }                                 
//============================================================================== FORM OPEN - CLOSE

//============================================================================== TAB1 CODES
    private void EnterButton1ActionPerformed(ActionEvent evt) {                                             
        MyCodes1.AdministrationControl();
    }                                            
//============================================================================== TAB1 CODES







    // Variables declaration - do not modify                     
    public javax.swing.JButton EnterButton1;
    public javax.swing.JButton ExitButton1;
    public javax.swing.JTextField IDBox1;
    public javax.swing.JTextField PassBox;
    public javax.swing.JLabel StatusLabel1;
    public javax.swing.JPanel Tab1;
    public javax.swing.JPanel Tab2;
    public javax.swing.JPanel Tab3;
    public javax.swing.JPanel Tab4;
    public javax.swing.JPanel Tab5;
    public javax.swing.JTabbedPane TabMenu;
    public javax.swing.JButton jButton1;
    public javax.swing.JLabel jLabel1;
    public javax.swing.JLabel jLabel2;
    public javax.swing.JLabel jLabel3;
    public javax.swing.JLabel jLabel4;
    public javax.swing.JLabel jLabel5;
    public javax.swing.JLabel jLabel6;
    public javax.swing.JSeparator jSeparator1;
    public javax.swing.JTextField jTextField1;
    // End of variables declaration                   

}

And the Class C codes: 和C类代码:

import javax.swing.JOptionPane;

public class Tab1Codes extends HotelHG{

    byte PassTry;
//============================================================================== LOCK ALL TABS
    public boolean LockAll(){
        try
        {
            TabMenu.setEnabledAt(1, false);
            TabMenu.setEnabledAt(2, false);
            TabMenu.setEnabledAt(3, false);
            TabMenu.setEnabledAt(4, false);
        }catch(Exception e)
        {
            JOptionPane.showConfirmDialog(null, "Не можем да заключим разделите!",
                    "Заключване на разделите...",
                    JOptionPane.PLAIN_MESSAGE,
                    JOptionPane.ERROR_MESSAGE);
            return false;
        }
        return true;
    }
//============================================================================== LOCK ALL TABS

//============================================================================== ADMINISTRATION
    public void AdministrationControl(  ){
        PassTry=0;
        byte No=1;
        do{
            if(ChechForIDPass(No)){
                FindUserType(No);
                No=4;
            }
            else{
                No++;
                PassTry++;
                JOptionPane.showConfirmDialog(null, "Грешно Потребителско име  или Парола!",
                       "П. Име-Парола Контрол...",
                        JOptionPane.PLAIN_MESSAGE,
                        JOptionPane.ERROR_MESSAGE);
            }
                        if(No == 1) 
                        if(No == 2) 
                        if(No == 3) 
                        TabMenu.setEnabledAt(2, false);
                        PassTry=0;
        }while(No<4);
    }
//============================================================================== ADMINISTRATION

//============================================================================== CHECK FOR ID PASS
    private boolean ChechForIDPass(byte NO){
        try {
            Res.absolute(NO);
            if(IDBox1.getText().equals(Res.getString("ID"))) {
                if(PassBox.getText().equals(Res.getString("Pass"))) {
                    return true;
                }
            }
        }catch(Exception ex){
            JOptionPane.showConfirmDialog(null, "Грешка с Връзка на Данни!",
                    "П. Име-Парола Контрол...",
                    JOptionPane.PLAIN_MESSAGE,
                    JOptionPane.ERROR_MESSAGE);
        }
        return false;
    }
//============================================================================== CHECK FOR ID PASS

//============================================================================== FIND USER TYPE
    private void FindUserType(byte NO){
        try {
            Res.absolute(NO);
            if(Res.getString("access").equalsIgnoreCase("Admin")){
                PassTry=0;
                StatusLabel1.setText("Статус:Админ Достъп");
                JOptionPane.showConfirmDialog(null, "Верна Парала! Здравей Администратор!",
                       "П. Име-Парола Контрол...",
                        JOptionPane.PLAIN_MESSAGE,
                        JOptionPane.INFORMATION_MESSAGE);
                TabMenu.setEnabledAt(2, true);
                TabMenu.setEnabledAt(3, true);
                TabMenu.setEnabledAt(4, true);
                TabMenu.setEnabledAt(5, true);
            }
            if(Res.getString("access").equalsIgnoreCase("Reception")){
                PassTry=0;
                StatusLabel1.setText("Статус:Ресепция Достъп");
                JOptionPane.showConfirmDialog(null, "Верна Парала! Здравей Потребител!",
                       "П. Име-Парола Контрол...",
                        JOptionPane.PLAIN_MESSAGE,
                        JOptionPane.INFORMATION_MESSAGE);
                TabMenu.setEnabledAt(2, true);
                TabMenu.setEnabledAt(3, true);
            }
            if(Res.getString("access").equalsIgnoreCase("Worker")){
                PassTry=0;
                StatusLabel1.setText("Статус:Работник Достъп");
                JOptionPane.showConfirmDialog(null, "Верна Парала! Здравей Потребител!",
                       "П. Име-Парола Контрол...",
                        JOptionPane.PLAIN_MESSAGE,
                        JOptionPane.INFORMATION_MESSAGE);
                TabMenu.setEnabledAt(4, true);
                TabMenu.setEnabledAt(5, true);
            }

        }catch(Exception ex){
            JOptionPane.showConfirmDialog(null, "Грешка с Връзка на Данни!",
                    "П. Име-Парола Контрол...",
                    JOptionPane.PLAIN_MESSAGE,
                    JOptionPane.ERROR_MESSAGE);
        }
    }
//============================================================================== FIND USER TYPE
}

The cause of your problem does not come from extending HotelHG - the cause is hidden somewhere in "// Some codes". 问题的根源不是来自扩展HotelHG的原因-原因隐藏在“ //一些代码”中的某个位置。 A StackOverFlowError is raised by the virtual machine if you have too many method calls, usually when you have a recursive algorithm that does not terminate correctly like this: 如果您有太多方法调用,则虚拟机会引发StackOverFlowError ,通常当您的递归算法没有像这样正确终止时:

 public void createStackOverFlowError() {
    createStackOverFlowError();
 }

So to get rid of that error: look for methods in your application code that produce "loops" of this kind. 因此,要消除该错误:请在您的应用程序代码中查找产生此类“循环”的方法。

  1. The main method in HotelHG the base class is not inherited into the class Tab1Codes, hence you should copy the whole main method in your sub class and also change the code to create object of your class in it 在HotelHG中,基类的主要方法未继承到Tab1Codes类中,因此您应在子类中复制整个主要方法,并更改代码以在其中创建类的对象

  2. You have not mentioned how you are running the files, please elaborate how you are running the program? 您还没有提到如何运行这些文件,请详细说明您是如何运行该程序的?

     public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Tab1Codes().setVisible(true); } }); 

    } }

This method added to the new subclass and running the subclass file may work. 此方法添加到新子类并运行子类文件可能有效。

with regards 带着敬意
Tushar Joshi, Nagpur Tushar Joshi,那格浦尔

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM