在Netbeans Java应用程序上,如何通过单击按钮来打开新页面(而不是弹出窗口)?

时间:2019-04-18 13:59:14

标签: java netbeans

我在Netbeans上创建了一个Java应用程序。如何在不弹出页面的情况下单击按钮来打开新页面?我希望像使用HTML创建网站时一样,然后只需按一个按钮/链接即可重定向到另一个页面。

我阅读的所有解决方案都说明了如何创建一个弹出页面。

编辑和说明:

这是我正在运行的代码(按下按钮后将执行的操作)。

private void LoginButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
       displays s = new displays();
       s.setVisible(true);

一旦按下登录按钮,就会打开一个新的JFrame。相反,我希望带有“登录”按钮的JFrame在同一页面上显示不同的内容(在此示例中,该人一旦登录)。

1 个答案:

答案 0 :(得分:0)

您可能想要这个小插图。它具有带有按钮的表单。单击后,面板上的文本字段就会更改。

    public class NewJFrame extends javax.swing.JFrame {

    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;

    public NewJFrame() {
        initComponents();
    }

    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        jButton1.setText("Click me");
        jLabel1.setText("Not yet clicked");

        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jLabel1.setText("clicked");
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(146, 146, 146)
                        .addComponent(jButton1))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(172, 172, 172)
                        .addComponent(jLabel1)))
                .addContainerGap(160, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(80, 80, 80)
                .addComponent(jButton1)
                .addGap(78, 78, 78)
                .addComponent(jLabel1)
                .addContainerGap(102, Short.MAX_VALUE))
        );

        pack();
    }

    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new NewJFrame().setVisible(true);
        }
    });          
}