java - 单击按钮后链接到其他面板

标签 java swing user-interface layout actionlistener

现在我有 3 个 Java 文件,它们是 . 我在 TrainAndCOnductor 上有 2 个按钮。我的目的是,当我点击第一个按钮时,它将打开我的 The Conductor 面板。

public class JavaApplication1 {

    public static void main(String[] args) {
        TheConductor form = new TheConductor();
        form.setVisible(true);
    }
}
//Train And Conductor
    public class TrainAndConductor extends javax.swing.JFrame {

    /** Creates new form TrainAndConductor */
    public TrainAndConductor() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

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

        jButton2.setText("Conductor");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jButton1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
            .addComponent(jButton2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton2))
        );

        pack();
    }// </editor-fold>

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        add(TheConductor);
        TheConductor.setVisible(true);

//The Conductor
public class TheConductor extends javax.swing.JFrame {

    /** Creates new form TheConductor */
    public TheConductor() {
        initComponents();
    }

最佳答案

这取决于您的布局是如何组织的。您可以使用 JTabbedPane 或 CardLayout实现这一目标。

关于java - 单击按钮后链接到其他面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067913/

相关文章:

java - 对于 Java 中的自定义对象关系映射来说,这是一个好方法吗?

Java 定时器任务运行速度比正常情况慢

java - jgraph 类似 vaadin 框架上的组件

Jpanel添加Jpanel后Java Swing repaint()、revalidate()问题

java - 如何找到依赖于其父窗口关闭的java窗口对话框

java - 未选择任何内容时如何设置 JComboBox 的标题?

Python 3.x tkinter 导入错误

c# - 统一淡入场景无法正常工作

android - 如何创建 Android 布局的 HTML 等价物?

java - 动态调整按钮大小