私の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);
}
}
1) 'のsetVisible(..)'コール(テキストなし/アイコンとラベルがすでに見えない)のための必要はありません。 2)実行時に追加されるコンポーネントは、インスタンス化されて何かに追加されるだけではありません。 3)* "あなたは静的なラベルを宣言するべきです"いいえ、してはいけません。 - 正しいアプローチについては、他の回答を参照してください。 –
1)backgorund colorなしでラベルを使用するかどうかわかりません。 (テキスト/アイコンが表示されていないラベルが常に表示されるわけではありません)。 2)私は誤解があると思うが、追加部分はコンストラクタになければならない。私はそれを意味したが、明らかに私はそれを書いた方が良いはずだった3)私はdatBoiオブジェクトがないと思った、残念私の悪い:D。 –