Java 如何在单击按钮时显示文本
在我现在的APCS课程中,我们正在学习如何编程GUI。我们已经学习了如何制作一个按钮,并将背景颜色更改为绿色、红色、蓝色等。然而,我的老师本周剩下的时间都不会在这里,我只是好奇如何通过单击按钮使文本显示在框架内,并在再次单击按钮时使文本消失。如果有帮助,下面是代码。我想将背景颜色改为绿色,同时在屏幕上显示“绿色”。非常感谢你的帮助Java 如何在单击按钮时显示文本,java,eclipse,text,awt,jbutton,Java,Eclipse,Text,Awt,Jbutton,在我现在的APCS课程中,我们正在学习如何编程GUI。我们已经学习了如何制作一个按钮,并将背景颜色更改为绿色、红色、蓝色等。然而,我的老师本周剩下的时间都不会在这里,我只是好奇如何通过单击按钮使文本显示在框架内,并在再次单击按钮时使文本消失。如果有帮助,下面是代码。我想将背景颜色改为绿色,同时在屏幕上显示“绿色”。非常感谢你的帮助 import java.awt.*; import java.awt.event.*; import javax.swing.*;
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 );
}
}此部件需要在构造函数中
label = new JLabel("Text you want to be seen");
add(label);
此代码需要位于actionPerformed()方法中
这部分需要在构造函数中
label = new JLabel("Text you want to be seen");
add(label);
此代码需要位于actionPerformed()方法中
添加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 );
}
}
添加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 );
}
}
1) 不需要setVisible(..)
调用(没有文本/图标的标签已经不可见)。2) 在运行时添加的组件需要的不仅仅是实例化和添加到某个对象。3) *“您应该将标签声明为静态”不,您不应该-关于正确的方法,请参见另一个答案。1)我不知道他/她是否会使用无背景颜色的标签。(没有文本/图标的标签并不总是不可见的)。2) 我想这是一个误解,添加部分应该在构造函数中。我是认真的,但显然我应该写得更好3)我以为没有datBoi对象,对不起我的坏:D.1)没有必要调用setVisible(…)
调用(没有文本/图标的标签已经不可见)。2) 在运行时添加的组件需要的不仅仅是实例化和添加到某个对象。3) *“您应该将标签声明为静态”不,您不应该-关于正确的方法,请参见另一个答案。1)我不知道他/她是否会使用无背景颜色的标签。(没有文本/图标的标签并不总是不可见的)。2) 我想这是一个误解,添加部分应该在构造函数中。我是认真的,但显然我应该写得更好3)我以为没有datBoi对象,对不起,我的坏:D。