为什么在进行全屏JFrame并且按钮不居中时?

时间:2014-07-14 10:01:46

标签: java swing netbeans

当不在全屏菜单中时,如下所示:

enter image description here

然而,当我的全屏幕没有组织时:

enter image description here

有人能帮助我吗?

我不知道摇摆控件是如何以表格为中心的。

感谢。


CODE

登录表格

    String sql="select * from logins where username=? and password=?";

            try{

        pst=(PreparedStatement) conexao.prepareStatement(sql);
        pst.setString(1, jTUser.getText());
        pst.setString(2, jPass.getText());

        rs=pst.executeQuery();
        if(rs.next()){

            String idTipoLogin = rs.getString("idTipoLogin"); 

            if (idTipoLogin.equals("Administrador")) {

                jTMainMenuAdmin ah = new jTMainMenuAdmin();
                ah.setExtendedState(JFrame.MAXIMIZED_BOTH); 
                ah.setVisible(true);
}

主菜单

public class jTMainMenuAdmin extends javax.swing.JFrame {

Connection conexao = null;
PreparedStatement pst= null;
ResultSet rs = null;



public jTMainMenuAdmin() throws SQLException {
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    initComponents();
    setTitle();
    setIcon();
    setDefaultCloseOperation(jTMainMenuAdmin.DO_NOTHING_ON_CLOSE);
    conexao=(Connection) CriaConexao.getConexao();
}



public static void main(String args[]) {

    java.awt.EventQueue.invokeLater(new Runnable() {

        public void run() {
            try {
                new jTMainMenuAdmin().setVisible(true);
            } catch (SQLException ex) {
                Exceptions.printStackTrace(ex);
            }
        }
    });
}

2 个答案:

答案 0 :(得分:0)

这是因为Netbeans使用的默认GroupLayout。您可以在JPanel表单上创建自己的内容。然后,对于框架类,更改GridBagLayout的布局,然后只需将JPanel表单添加到框架中。

完成后,您可以轻松拖放面板,如here

所示

更改框架的布局管理器所需要做的就是选择并右键单击“导航”窗口中的框架,然后选择“设置布局”。只需将其更改为GridBagLayout,然后添加面板。


旁白:如果您只是初学者,我强烈建议您在开始使用IDE工具之前先学会手动编写代码。如果您没有先了解基本工具,该工具非常复杂。你可以看到转到The Official Swing Tutorial。布局管理器是一个很好的起点。然后转到组件/事件监听器


答案 1 :(得分:-1)

我认为您添加绝对位置和大小的组件为:

mybutton.setBounds(x, y, width, height);

如果您希望组件调整到可用空间,则必须使用布局。