2013-04-30 5 views
0

저는 직원의 시계를 만들려고합니다. 숫자 0-9의 키패드와 텍스트 필드가 있습니다. 숫자를 클릭 할 수 있기를 원하며 숫자가 텍스트 필드에 나타납니다. 이것은 매우 쉬운 것처럼 보이지만 나는 그것에 대한 답변을 찾을 수 없습니다.jbutton이 텍스트 필드의 텍스트를 변경합니다.

저는 netbeans를 사용 중이며 디자인에 Jframe 디자인을 만들었습니다.

모든 버튼에 동작 이벤트를 추가했습니다.

나는 등 등 Btn0 (거기에 0 버튼, 인 btn1과 같은 각 버튼을 전화 드렸습니다

+0

은 당신이 지금까지 시도 않은 : 여기에 짧은 데모는? 몇 가지 코드를 보여줘. – jamp

답변

0

내가 넷빈즈의 아무것도 몰라, 그러나, 구글에서 검색 나에게이

Netbeans GUI Functionality

했다 는 데이터가 필요한 것 같습니다

은 그것을 읽기하고

1

에서 버튼 (먼저 버튼을 더블 클릭 액션 청취자를 추가하여 목적에 맞게 개정 할 필요가 무엇을 알아낼 수 의심의 여지를 제공 GUI 디자이너 :)) :

button.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent e){ 
     //Set text by calling setText() method for your textfield 
     textfield.setText("Desired text"); 
    } 

}); 

감사합니다.

1

모든 단추가 공유 할 수있는 동작을 만듭니다. 뭔가 같이 :

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

public class ButtonCalculator extends JFrame implements ActionListener 
{ 
    private JButton[] buttons; 
    private JTextField display; 

    public ButtonCalculator() 
    { 
     display = new JTextField(); 
     display.setEditable(false); 
     display.setHorizontalAlignment(JTextField.RIGHT); 

     JPanel buttonPanel = new JPanel(); 
     buttonPanel.setLayout(new GridLayout(0, 5)); 
     buttons = new JButton[10]; 

     for (int i = 0; i < buttons.length; i++) 
     { 
      String text = String.valueOf(i); 
      JButton button = new JButton(text); 
      button.addActionListener(this); 
      button.setMnemonic(text.charAt(0)); 
      button.setBorder(new LineBorder(Color.BLACK)); 
      buttons[i] = button; 
      buttonPanel.add(button); 
     } 

     getContentPane().add(display, BorderLayout.NORTH); 
     getContentPane().add(buttonPanel, BorderLayout.SOUTH); 
     setResizable(false); 
    } 

    public void actionPerformed(ActionEvent e) 
    { 
     JButton source = (JButton)e.getSource(); 
     display.replaceSelection(source.getActionCommand()); 
    } 

    public static void main(String[] args) 
    { 
     ButtonCalculator frame = new ButtonCalculator(); 
     frame.setDefaultCloseOperation(EXIT_ON_CLOSE); 
     frame.pack(); 
     frame.setLocationRelativeTo(null); 
     frame.setVisible(true); 
    } 
} 
2

당신은 ActionEvent의 해고되는 JButton의를 검색 한 다음의 JTextField로하는 JButton에서 검색 한 텍스트를 추가 할 필요가있다.
enter image description here

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
class EClock extends JFrame 
{ 
    JTextField tf; 
    public void createAndShowGUI() 
    { 
     setTitle("Eclock"); 
     Container c = getContentPane(); 
     tf = new JTextField(10); 
     JPanel cPanel = new JPanel(); 
     JPanel nPanel = new JPanel(); 
     nPanel.setLayout(new BorderLayout()); 
     nPanel.add(tf); 
     cPanel.setLayout(new GridLayout(4,4)); 
     for (int i =0 ; i < 10 ; i++) 
     { 
      JButton button = new JButton(String.valueOf(i)); 
      cPanel.add(button); 
      button.addActionListener(new ActionListener() 
      { 
       public void actionPerformed(ActionEvent evt) 
       { 
        String val = ((JButton)evt.getSource()).getText(); 
        tf.setText(tf.getText()+val); 
       } 
      }); 
     } 
     c.add(cPanel); 
     c.add(nPanel,BorderLayout.NORTH); 
     setSize(200,250); 
     setLocationRelativeTo(null); 
     setResizable(false); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setVisible(true); 
    } 
    public static void main(String[] args) 
    { 
     SwingUtilities.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
       EClock ec = new EClock(); 
       ec.createAndShowGUI(); 
      } 
     }); 
    } 
} 
관련 문제