2010-09-28 102 views
0

我再次試圖弄清楚如何將按鈕單擊到label1。無法弄清楚如何將結果輸出到JLabel而不是System.out.println

當我點擊button01時,我得到一個打印出來。我需要它打印到標籤1上,並且在A按下時說A文件夾,B按下時按B等等。任何在正確的方向推動?

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

public class JFileCabinet extends JFrame { 

    private JButton button01 = new JButton("A"); 
    private JButton button02 = new JButton("B"); 
    private JButton button03 = new JButton("C"); 
    private JButton button04 = new JButton("D"); 
    private JButton button05 = new JButton("E"); 
    private JButton button06 = new JButton("F"); 
    private JButton button07 = new JButton("G"); 
    private JButton button08 = new JButton("H"); 
    private JButton button09 = new JButton("I"); 
    private JButton button10 = new JButton("J"); 
    private JButton button11 = new JButton("K"); 
    private JButton button12 = new JButton("L"); 
    private JButton button13 = new JButton("M"); 
    private JButton button14 = new JButton("N"); 
    private JButton button15 = new JButton("O"); 
    private JButton button16 = new JButton("P"); 
    private JButton button17 = new JButton("Q"); 
    private JButton button18 = new JButton("R"); 
    private JButton button19 = new JButton("S"); 
    private JButton button20 = new JButton("T"); 
    private JButton button21 = new JButton("U"); 
    private JButton button22 = new JButton("V"); 
    private JButton button23 = new JButton("W"); 
    private JButton button24 = new JButton("X"); 
    private JButton button25 = new JButton("Y"); 
    private JButton button26 = new JButton("Z"); 
    private JButton button27 = new JButton(" "); 
    private JButton button28 = new JButton(" "); 
    private JButton button29 = new JButton(" "); 
    private JButton button30 = new JButton(" "); 
    private static JLabel label1 = new JLabel("Folder "); 
    private JPanel panel01 = new JPanel(new GridLayout(1, 6)); 
    private JPanel panel02 = new JPanel(new GridLayout(1, 6)); 
    private JPanel panel03 = new JPanel(new GridLayout(1, 6)); 
    private JPanel panel04 = new JPanel(new GridLayout(1, 6)); 
    private JPanel panel05 = new JPanel(new GridLayout(1, 2)); 
    private GridLayout layout = new GridLayout(5, 1, 5, 5); 

    public JFileCabinet() { 

     setLayout(layout); 
     add(panel01); 
     add(panel02); 
     add(panel03); 
     add(panel04); 
     add(panel05); 

     button01.addActionListener(new ButtonListener()); 
     panel01.add(button01); 

     panel01.add(button02); 
     panel01.add(button03); 
     panel01.add(button04); 
     panel01.add(button05); 
     panel01.add(button06); 

     panel02.add(button07); 
     panel02.add(button08); 
     panel02.add(button09); 
     panel02.add(button10); 
     panel02.add(button11); 
     panel02.add(button12); 

     panel03.add(button13); 
     panel03.add(button14); 
     panel03.add(button15); 
     panel03.add(button16); 
     panel03.add(button17); 
     panel03.add(button18); 

     panel04.add(button19); 
     panel04.add(button20); 
     panel04.add(button21); 
     panel04.add(button22); 
     panel04.add(button23); 
     panel04.add(button24); 

     panel05.add(button25); 
     panel05.add(button26); 
     panel05.add(button27).setVisible(false); 
     panel05.add(button28).setVisible(false); 
     //panel05.add(button29).setVisible(false); 
     panel05.add(label1); 
     panel05.add(button30).setVisible(false); 

     setSize(400, 350); 
     setVisible(true); 
    } 
    public static void main(String[] args) { 
     JFileCabinet frame = new JFileCabinet(); 
    } 
    String selection; 
    class ButtonListener implements ActionListener { 
     private String e; 
     public void actionPerformed(ActionEvent e) { 
      //throw new UnsupportedOperationException("Not supported yet."); 
      String clicked = null; 
      if (e.getActionCommand().equals("A")) {    //clicked.equals("A"); 
       System.out.println("A"); 
      } 
     } 
    } 
} 

回答

3
label1.setText("Folder " + e.getActionCommand()); 
0

的微調 - 而不是完全成熟的答案是這樣的:

  • 去閱讀爲JLabel的
  • 公衆 API
  • 標識,設置在一個JLabel
  • 取而代之的是文本的方法檢查A字符串值,只需將值folder設置爲值e.getActionCommand()即可。