2014-01-03 2 views
1

enter image description herehttp://postimg.org/image/fi1bwpfoz/ Как показать меню Строка без внутреннего фрейма в java swing .i использовать внутренний фрейм для отображения панели меню.whats должно быть альтернативным слоем для этого ,как установлено главное меню, такое, что в его представлении посередине в java swing

enter image description here

вот мой код частная пустота jLabel3FocusGained (java.awt.event.FocusEvent ЭВТ) {
// TODO добавить код обработки: }

/** 
* @param args the command line arguments 
*/ 
public static void main(String args[]) 
{ 
    try { 

     //String host = "jdbc:derby://localhost:1527/Employees"; 
     String host = "jdbc:mysql://localhost:3306/mysql"; 
     String uName = "root"; 
     String uPass = "paras123"; 

     //Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     java.sql.Driver d=new com.mysql.jdbc.Driver(); 

     Connection con = DriverManager.getConnection(host, uName, uPass); 

     Statement stmt = con.createStatement(); 
     ResultSet rs = stmt.executeQuery("SELECT * from employee"); 

     while (rs.next()) { 

      int col = rs.getInt("id"); 
      String first_name = rs.getString("firstname"); 
      String last_name = rs.getString("lastname"); 
      String job = rs.getString("job_title"); 
      //String p=col+""+first_name+""+last_name+""+job; 
      System.out.println(col + " " + first_name + " " + last_name + " " + job); 

     } 

    } catch (SQLException err) { 
     //err.printStackTrace(); 
     System.out.println(err.getMessage()); 
    } 





    /* Set the Nimbus look and feel */ 
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> 
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
    * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
    */ 
    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 ex) { 
     java.util.logging.Logger.getLogger(menu3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (InstantiationException ex) { 
     java.util.logging.Logger.getLogger(menu3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (IllegalAccessException ex) { 
     java.util.logging.Logger.getLogger(menu3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
     java.util.logging.Logger.getLogger(menu3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } 
    //</editor-fold 

    /* Create and display the form */ 
    java.awt.EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      new menu3().setVisible(true); 
     } 
    }); 
} 

// Variables declaration - do not modify      
private javax.swing.JInternalFrame jInternalFrame1; 
private javax.swing.JLabel jLabel1; 
private javax.swing.JLabel jLabel2; 
private javax.swing.JLabel jLabel3; 
private javax.swing.JMenu jMenu1; 
private javax.swing.JMenu jMenu10; 
private javax.swing.JMenu jMenu11; 
private javax.swing.JMenu jMenu12; 
private javax.swing.JMenu jMenu13; 
private javax.swing.JMenu jMenu14; 
private javax.swing.JMenu jMenu15; 
private javax.swing.JMenu jMenu16; 
private javax.swing.JMenu jMenu2; 
private javax.swing.JMenu jMenu3; 
private javax.swing.JMenu jMenu4; 
private javax.swing.JMenu jMenu5; 
private javax.swing.JMenu jMenu6; 
private javax.swing.JMenu jMenu7; 
private javax.swing.JMenu jMenu8; 
private javax.swing.JMenu jMenu9; 
private javax.swing.JMenuBar jMenuBar1; 
private javax.swing.JMenuItem jMenuItem1; 
private javax.swing.JMenuItem jMenuItem2; 
private javax.swing.JMenuItem jMenuItem3; 
private javax.swing.JMenuItem jMenuItem4; 
private javax.swing.JMenuItem jMenuItem5; 
private javax.swing.JMenuItem jMenuItem6; 
private javax.swing.JMenuItem jMenuItem7; 
private javax.swing.JMenuItem jMenuItem8; 
private javax.swing.JPanel jPanel1; 
private javax.swing.JPopupMenu.Separator jSeparator1; 
// End of variables declaration     

}

+0

но он должен сдвинуться в верхней части рамки. Есть ли какая-либо альтернатива, что он будет похож на вид снимка. – user2818060

+0

О чем ты говоришь? Вы имеете в виду, что хотите добавить место в верхнюю часть без использования внутреннего фрейма? –

+0

* «Что должно быть альтернативным слоем для этого» * ​​- Вы можете начать с чтения [доступных учебников] (http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html). Не забывайте, что «JMenuBar» - это еще один компонент ... – MadProgrammer

ответ

0

Вы не можете ошибиться, используя BorderLayout, чтобы установить строку меню вверху, независимо от изменения размера окна и всего. надеюсь это поможет.

JFrame frame = new JFrame(); 
frame.setLayout(new BorderLayout()); 
JMenuBar menuBar = new JMenuBar(); 
JMenu menu = new JMenu("Test"); 
JMenuItem item = new JMenuItem("test2"); 
menu.add(item); 
menuBar.add(menu); 
frame.add(menuBar, BorderLayout.NORTH); 
+0

Почему не 'setJMenuBar()'? –

+0

Я хочу, чтобы мой заголовок и ярлык были выше панели меню. Именно поэтому iahve использовал панель меню во внутреннем фрейме. поскольку я знаю, что строка меню должна действовать, компонент будет верхним. любой идеал, как установить аналогичную компоновку без внутреннего фрейма в swing – user2818060

+0

, попробуйте использовать другой jpanel только для меню. установите его макет для borderlayout и добавьте меню в этот jpanel. – doomsdaymachine