有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在JTextarea或JTable中显示

因此,我创建了两个按钮,我想在单击按钮时执行特定任务。如果使用ActionListener单击按钮1(b1),我想创建一个Van对象,并在JTextarea或JTable中显示实例变量。例如,如果单击了Van按钮,那么操作将是创建一个Van对象,获取实例变量值,并在JTextArea/JTable中打印它们。以下是我目前的代码:

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;


public class TestButton extends JFrame{

JTable table;

public TestButton (){

    setLayout(new FlowLayout());
}
static class ActionTwo implements ActionListener{

    @Override
    public void actionPerformed (ActionEvent evt){

        Vehicle sport = new Sportcar (200, 1500, 220);

    }
  }

  static class Action implements ActionListener{

    @Override
    public void actionPerformed (ActionEvent evt){

        Vehicle aVan = new Van(100,0.9,3500,160.4);


    }

   }

  public static void main (String [] args){

  JFrame frame = new JFrame ("Type of Vehicle");
  frame.setVisible(true);
  frame.setSize(400,200);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setLocationRelativeTo(null);
  JPanel panel = new JPanel();
  panel.setBackground(Color.black);
  JButton b1 = new JButton("Van");
  JButton b2 = new JButton("Sports Car");
  panel.add(b1);
  panel.add(b2);
  frame.add(panel);
  b1.addActionListener(new Action());
  b2.addActionListener(new ActionTwo());

  }




  }

共 (1) 个答案

  1. # 1 楼答案

    看看Java tutorial on Action Listeners

    这将做你想做的事情,但你应该通读这篇教程,全面掌握正在发生的事情

    public static void main (String [] args){
        JTextField text = new JTextField();
        ActionListener textSetter = new ActionListener() {
    
          @Override
          public void actionPerformed(ActionEvent e) {
              JButton clicked = (JButton) e.getSource();
              text.setText(clicked.getText());
          }
        };
    
        JButton btnVan = new JButton("Van");
        btnVan.addActionListener(textSetter);
        JButton btnCar = new JButton("Sports Car");
        btnCar.addActionListener(textSetter);
    
        JPanel btnPanel = new JPanel();
        btnPanel.add(btnVan);
        btnPanel.add(btnCar);
    
        JPanel mainPanel = new JPanel(new BorderLayout());
        mainPanel.add(text, BorderLayout.NORTH);
        mainPanel.add(btnPanel, BorderLayout.SOUTH);
    
        JFrame frame = new JFrame ("Type of Vehicle");
        frame.add(mainPanel);
        frame.setSize(400,200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }