【问题标题】:java jdbc and jframejava jdbc和jframe
【发布时间】:2014-03-30 07:17:53
【问题描述】:

当我执行应用程序时,我得到“构建成功”但jframe 未显示在屏幕上。该应用程序是关于从 oracle 数据库中检索数据和 从数据库中找到特定的人(记录)。 jframe 可能有人员的详细信息 例如名字,姓氏...等。我可以浏览数据库中的记录。

class Addressbks extends javax.swing.JFrame
{
private JButton browseButton;

  private JLabel emailLabel;
  private JTextField emailTextField;
  private JLabel firstNameLabel;
  private JTextField firstNameTextField;
  private JLabel lastNameLabel;
  private JTextField lastNameTextField;
  private JLabel idLabel;
  private JTextField idTextField;  
  private JLabel phoneLabel;
  private JTextField phoneTextField;  
  private JTextField indexTextField;


  private JPanel navigatePanel; 
  private JPanel displayPanel;
  private JPanel queryPanel;

  private JButton  previousButton;
  private JButton  nextButton;

  private JLabel ofLabel;
  private JTextField maxTextField;  
  private JTextField queryTextField;  

  private Person currentEntry;
  private PersonQueries personQueries;
  private List<Person> results;
  private int numberOfEntries = 0;
  private int currentEntryIndex;
  private JLabel queryLabel;

  private JButton queryButton;
  private JButton insertButton;


    /**
     * Creates new form Address book
     */
    public Addressbks() {
        super("The Addressbook");
       initComponents();     

     setLayout(new FlowLayout(FlowLayout.CENTER,10,10));


     personQueries = new PersonQueries();

     navigatePanel = new JPanel();
     previousButton = new JButton();
     indexTextField = new JTextField(2);
     ofLabel = new JLabel();
     maxTextField = new JTextField(2);
     nextButton = new JButton();

     displayPanel  = new JPanel();
     idLabel = new JLabel();
     idTextField = new JTextField(10);
     firstNameLabel = new JLabel();
     firstNameTextField = new JTextField(10);
     lastNameLabel = new JLabel();
     lastNameTextField = new JTextField(10);
     emailLabel = new JLabel();
     emailTextField = new JTextField(10);
     phoneLabel = new JLabel();
     phoneTextField = new JTextField(10);   



     queryPanel = new JPanel();
     queryLabel = new JLabel();
     queryTextField =new JTextField(10);
     queryButton= new JButton();
     browseButton = new JButton();
     insertButton = new JButton();



     navigatePanel.setLayout(new BoxLayout(navigatePanel,BoxLayout.X_AXIS));
     previousButton.setText("Previous");

     previousButton.setEnabled(false);

     previousButton.addActionListener(new ActionListener()
        {
                    @Override
            public void actionPerformed(ActionEvent e)
            {
                previousButtonActionPerformed(e);
            }
        });
    navigatePanel.add(previousButton);
    navigatePanel.add(Box.createHorizontalStrut(10));

    indexTextField.setHorizontalAlignment(JTextField.CENTER);

    indexTextField.addActionListener(new ActionListener()
        {
                    @Override
            public void actionPerformed(ActionEvent e)
            {
                 indexTextFieldActionPerformed(e);
            }
        });

    navigatePanel.add(indexTextField);
    navigatePanel.add(Box.createHorizontalStrut(10));

    ofLabel.setText("of");
    navigatePanel.add(ofLabel);
    navigatePanel.add(Box.createHorizontalStrut(10));

    maxTextField.setHorizontalAlignment(JTextField.CENTER);
    maxTextField.setEditable(false);   
    navigatePanel.add(maxTextField);
    navigatePanel.add(Box.createHorizontalStrut(10));

     nextButton.setText("Next");     
     nextButton.setEnabled(false);
     nextButton.addActionListener(new ActionListener()
        {
                    @Override
            public void actionPerformed(ActionEvent e)
            {
                nextButtonActionPerformed(e);
            }
        });
     navigatePanel.add(nextButton);
    add(navigatePanel);

     displayPanel.setLayout(new GridLayout(5,2,4,4));

     idLabel.setText("Address ID");
     displayPanel.add(idLabel);


     idTextField.setEditable(false);
     displayPanel.add(idTextField);


     firstNameLabel.setText("First Name :");
     displayPanel.add(firstNameLabel);
     displayPanel.add(firstNameTextField);

      lastNameLabel.setText("Last Name :");
     displayPanel.add(lastNameLabel);
     displayPanel.add(lastNameTextField);

      emailLabel.setText("Email :");
     displayPanel.add(emailLabel);
     displayPanel.add(emailTextField);

       phoneLabel.setText("Phone Number :");
     displayPanel.add(phoneLabel);
     displayPanel.add(phoneTextField);
     add(displayPanel);

     queryPanel.setLayout(new BoxLayout(queryPanel,BoxLayout.X_AXIS));
     queryPanel.setBorder(BorderFactory.createTitledBorder("Find an entry by lastname"));

    queryLabel.setText("Last Name");
    queryPanel.add(Box.createHorizontalStrut(5));

    queryPanel.add(queryLabel);
    queryPanel.add(Box.createHorizontalStrut(10));
    queryPanel.add(queryTextField);
    queryPanel.add(Box.createHorizontalStrut(10));

    queryButton.setText("Find");
    queryButton.addActionListener(new ActionListener()
                {

                    @Override
            public void actionPerformed(ActionEvent e)
            {
                 queryButtonActionPerformed(e);
            }
        });
    queryPanel.add(queryButton);
    queryPanel.add(Box.createHorizontalStrut(5)); 
    add(queryPanel);

    browseButton.setText("Browse All Entries");
    browseButton.addActionListener(new ActionListener()
                {

                    @Override
            public void actionPerformed(ActionEvent e)
            {
                 browseButtonActionPerformed(e);
            }
        });

    add(browseButton);

     insertButton.setText("Insert New Entry");
     insertButton.addActionListener(new ActionListener()
                {

                    @Override
            public void actionPerformed(ActionEvent e)
            {
                 insertButtonActionPerformed(e);
            }
        });
     add(insertButton);

  /*  addWindowListener (new WindowAdapter()
    {
            @Override
        public void windowClosing(WindowEvent e)
                 {
            personQueries.close();
            //System.exit(0);
        }
    });*/

      // setSize(400,400);
      // setResizable(false);
    // setLocationRelativeTo(null);
    // setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     //  setVisible(true); 

    }  
public class Addressbook 
 {
    /**
     * @param args the command line arguments
     */

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

        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Addressbook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        /*context: a.setVisible(true) still the jframe is not displayed */

      java.awt.EventQueue.invokeLater(new Runnable() {
                   @Override
            public void run() {
                JFrame a = new Addressbks();
                a.setVisible(true);

                }
        });
    }
 }

【问题讨论】:

  • 你没有看到任何东西,或者有一个非常小的 jframe 可以调整大小?

标签: java swing jdbc jframe


【解决方案1】:

您还没有为a JFrame 设置大小,请尝试将setSize() 方法添加到您的代码中,例如:

JFrame a = new Addressbks();
a.setSize(400, 400);
a.setVisible(true);

或者您可以使用pack(),它会调整框架的大小,使其所有内容都等于或大于它们的首选大小。

JFrame a = new Addressbks();
a.pack();
a.setVisible(true);

【讨论】:

  • pack 会是更好的解决方案,可能在缺少的 initComponents 方法中...
  • @MadProgrammer 是的,它更好,但有时使用 setSize 很好,谢谢提示。
猜你喜欢
  • 2011-05-25
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-25
  • 1970-01-01
  • 2018-10-22
  • 2011-04-20
相关资源
最近更新 更多