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

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

编辑和澄清:

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

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


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

最佳答案

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

    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);
        }
    });
}

10-05 20:49
查看更多