java—如何在单击按钮时显示文本

hmmo2u0o  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(506)

在我的apcs课程中,我们正在学习如何编程gui。我们已经学习了如何制作一个按钮,并将背景颜色改为绿色、红色、蓝色等。然而,我的老师本周剩下的时间都不会在这里,我只是好奇如何通过单击按钮使文本出现在框架内,并在再次单击按钮时使文本消失。如果有帮助,下面是代码。我想改变背景颜色为绿色,以及显示“绿色”的屏幕上。非常感谢你的帮助!

import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class datBoi extends JFrame implements ActionListener{

JButton datBoi;

public datBoi(String title)
{
    super(title);

    datBoi = new JButton("dat boi");
    datBoi.setActionCommand("dat boi");

    datBoi.addActionListener(this);

    setLayout(new FlowLayout());
    add(datBoi);

}

public void actionPerformed( ActionEvent evt)
  {
    // check which command has been sent
    if ( evt.getActionCommand().equals( "dat boi" ) )
    { getContentPane().setBackground(  Color.green  );    

    }

    repaint();
  }

  public static void main ( String[] args )
  {
    datBoi demo  = new datBoi( "Get ready to be memed" ) ;

    demo.setSize( 420, 420 );     
    demo.setVisible( true );      
  }

}

wbrvyc0a

wbrvyc0a1#

添加jlabel将它们添加到jpanel中以供将来使用。使用我提供的显示文本和绿色文本的功能;您可以通过在“”区域中更改文本来更改文本。
代码如下:

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.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

    public class datBoi extends JFrame implements ActionListener{

JButton datBoi;
JLabel jf;
JLabel label;

public datBoi(String title)
{
    super(title);

    datBoi = new JButton("dat boi");
    datBoi.setActionCommand("dat boi");

    datBoi.addActionListener(this);
    jf = new JLabel();
    JPanel panel = new JPanel();
    panel.add(jf);
    getContentPane().add(panel);

    setLayout(new FlowLayout());
    add(datBoi);
    JPanel panel2 = new JPanel();
    getContentPane().add(panel2);

    label = new JLabel();
    panel.add(label);

}

public void actionPerformed( ActionEvent evt)
  {
    // check which command has been sent
    if ( evt.getActionCommand().equals( "dat boi" ) )
    { getContentPane().setBackground(  Color.green  );    
            if(jf.getText().equals("")){
                jf.setText("put your text here");  
            }else{
                jf.setText("");  
            }
            label.setText("GREEN");
    }

    repaint();
  }

  public static void main ( String[] args )
  {
    datBoi demo  = new datBoi( "Get ready to be memed" ) ;

    demo.setSize( 420, 420 );     
    demo.setVisible( true );      
  }
 }
ivqmmu1c

ivqmmu1c2#

这部分需要在构造函数中。

label = new JLabel("Text you want to be seen");
    add(label);

此代码需要位于actionperformed()方法中。

label.setVisible(!label.isVisible()); // This code will be the change of visibility of the label.

相关问题