2013-04-03 5 views
0

У меня есть класс Main, который имеет общедоступный static void main (String [] args) {}. У меня также есть класс под названием appGUI. Я пытался получить графический интерфейс для загрузки, когда я запустить главный класс, но ничего не происходит, даже не ошибки ... :(GUI не отображается

Вот Основной класс:

public class Main { 

    /** 
    * @param args 
    */ 

    public static void main(String[] args) throws Exception { 

     appGUI gui = new appGUI(); 
    } 

} 

И вот класс appGUI:.

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
/* 
* Created by JFormDesigner on Wed Apr 03 19:24:35 BST 2013 
*/ 



/** 
* @author Hrach Ghapantsyan 
*/ 
public class appGUI extends JFrame { 
    public appGUI() { 
     initComponents(); 
    } 

    private void loginButtonActionPerformed(ActionEvent e) { 
     // TODO add your code here 
    } 

    private void initComponents() { 
     // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents 
     // Generated using JFormDesigner Evaluation license - Hrach Ghapantsyan 
     loginPasswordField = new JPasswordField(); 
     loginUsernameField = new JTextField(); 
     usernameLabel = new JLabel(); 
     passwordLabel = new JLabel(); 
     loginButton = new JButton(); 
     titleLabel = new JLabel(); 

     //======== this ======== 
     setTitle("Experimental X | Administrator Login"); 
     Container contentPane = getContentPane(); 
     contentPane.setLayout(null); 
     contentPane.add(loginPasswordField); 
     loginPasswordField.setBounds(80, 65, 100, loginPasswordField.getPreferredSize().height); 
     contentPane.add(loginUsernameField); 
     loginUsernameField.setBounds(80, 35, 100, loginUsernameField.getPreferredSize().height); 

     //---- usernameLabel ---- 
     usernameLabel.setText("Username:"); 
     contentPane.add(usernameLabel); 
     usernameLabel.setBounds(20, 40, 55, usernameLabel.getPreferredSize().height); 

     //---- passwordLabel ---- 
     passwordLabel.setText("Password:"); 
     contentPane.add(passwordLabel); 
     passwordLabel.setBounds(20, 70, 55, passwordLabel.getPreferredSize().height); 

     //---- loginButton ---- 
     loginButton.setText("Login"); 
     loginButton.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       loginButtonActionPerformed(e); 
      } 
     }); 
     contentPane.add(loginButton); 
     loginButton.setBounds(80, 95, 100, loginButton.getPreferredSize().height); 

     //---- titleLabel ---- 
     titleLabel.setText("Experimental X | Administrator Login"); 
     contentPane.add(titleLabel); 
     titleLabel.setBounds(45, 10, 190, titleLabel.getPreferredSize().height); 

     { // compute preferred size 
      Dimension preferredSize = new Dimension(); 
      for(int i = 0; i < contentPane.getComponentCount(); i++) { 
       Rectangle bounds = contentPane.getComponent(i).getBounds(); 
       preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width); 
       preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height); 
      } 
      Insets insets = contentPane.getInsets(); 
      preferredSize.width += insets.right; 
      preferredSize.height += insets.bottom; 
      contentPane.setMinimumSize(preferredSize); 
      contentPane.setPreferredSize(preferredSize); 
     } 
     setSize(270, 170); 
     setLocationRelativeTo(getOwner()); 
     // JFormDesigner - End of component initialization //GEN-END:initComponents 
    } 

    // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables 
    // Generated using JFormDesigner Evaluation license - Hrach Ghapantsyan 
    private JPasswordField loginPasswordField; 
    private JTextField loginUsernameField; 
    private JLabel usernameLabel; 
    private JLabel passwordLabel; 
    private JButton loginButton; 
    private JLabel titleLabel; 
    // JFormDesigner - End of variables declaration //GEN-END:variables 
} 

Я попытался запустить главный класс на Eclipse, и NetBeans, но она работает, а затем останавливается через несколько секунд я не получаю ошибки Выполните любое из вас есть какие-либо предложения.? Спасибо.

ответ

1

Вы не заехали JFrame#setVisible:

gui.setVisible(true); 

Некоторые примечания:

  • Избегайте использования null макета. Всегда используйте layout manager
  • Не используйте методы setXXXSize. Override getPreferredSize метод определения размеров компонентов
  • Вместо того, чтобы расширять JFrame, вы, как правило, хотите его создать и использовать напрямую.
  • Рассмотрим создание JFrame в EDT с помощью initial threads
+0

Ок, спасибо. Попытаемся это сейчас :) Я отправлю сообщение об ошибке –

+0

Большое спасибо, это сработало –

+0

Спасибо за обновление Reimeus, я расскажу об этом. –

0

Убедитесь, что вы называете SetVisible (истинный) на GUI.

0
public class appGUI extends JFrame { 

    setVisible(true); 

    // ---- 
} 

размещайте этот код, чтобы сделать видимым.

+0

Большое спасибо, но я сделал это по-другому: appGUI gui = new appGUI(); \t \t gui.setVisible (true); –

0

Просто добавьте:

this.setVisible(true); 
Смежные вопросы