2017-01-07 12 views
2

私は実際にJavaプログラミングの初心者です(eclipseで、ネットビーンではありません)、このフレームの上部にあるJButtonを削除せずにJButtonをクリックしてJFrame内のJLabelをクリアします。 。JbuttonでJLabelをクリアする

import java.awt.Color; 
import java.awt.Container; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.event.WindowAdapter; 
import java.awt.event.WindowEvent; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JOptionPane; 
import java.awt.*; 
import java.awt.BorderLayout; 
import java.awt.event.KeyEvent; 
import javax.swing.BoundedRangeModel; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 

public class ButtonTest extends JPanel implements ActionListener { 
    private JButton ouvrirButton = new JButton("Ouvrir"); 
    private JButton retirerButton = new JButton("Retirer"); 
    private JButton ajouterButton = new JButton("Ajouter"); 

public ButtonTest() { 
    add(ouvrirButton); 
    add(retirerButton); 
    add(ajouterButton); 

ouvrirButton.addActionListener(this); 
retirerButton.addActionListener(this); 
ajouterButton.addActionListener(this);} 

public void actionPerformed(ActionEvent evt) { 
Object source = evt.getSource(); 
Color color = getBackground(); 

// ACTION Button "OUVRIR" 
// I WANT TO REMOVE THIS JLABEL TEXT WHEN I CLICK FOR EXEMPLE ON 
// OR "RETIRER" 

if (source == ouvrirButton) 
{ 
    color = Color.yellow; 
    JLabel lab1 = new JLabel("Text", JLabel.LEFT); 
    setLayout(new FlowLayout()); 
    add(lab1 = new JLabel("INVENTAIRE : ")); 
    lab1.setBounds(20, 15, 500, 100); 
} 
else if (source == retirerButton) 
     color = Color.red; 
else if (source == ajouterButton) 
    color = Color.red; 
setBackground(color); 
repaint(); 
} 

// The main 

public static void main(String[] args) { 
    // NOM DE LA FENETRE 
    JFrame frame = new JFrame("Programme "); 

frame.addWindowListener(new WindowAdapter() { 
    public void windowClosing(WindowEvent e) { 
    System.exit(0); 
    } 
}); 

Container contentPane = frame.getContentPane(); 
contentPane.add(new ButtonTest()); 
frame.setVisible(true); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
frame.setSize(1300, 700); 
frame.setVisible(true);  
} 
} 

私はしようとしました.setText( "")が動作しません...助けてください!

答えて

2

はい、それはありません...

を私は( "").setTextを試してみましたが、それは動作しません。問題は、ラベル参照が作成されたコードのブロックでのみ有効になるように、ActionListenerでラベルを作成することです。

ボタンをパネルに追加すると同時に、インスタンス変数(すべてのボタンに対して行ったやり方)としてラベルを作成し、名札にラベルを追加する必要があります。

次に、ActionListenerのラベルにアクセスしてテキストを変更することができます。

+0

OMGそれは働いた!そんなに天才だよ、ありがとう!メルシ。 – Siya

関連する問題