본문 바로가기
자바

자바 소스코드: 텍스트필드의 문자열을 제한하기

by 드린 2016. 10. 29.

목차

    반응형
    package javaapplication54;
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    
    class Ex8 extends JFrame{
        JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 0);
        
        Ex8(){
            this.setTitle("TextArea Practice Frame");
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
            slider.setPaintLabels(true);
            slider.setPaintTicks(true);
            slider.setPaintTrack(true);
            slider.setMajorTickSpacing(20);
            slider.setMinorTickSpacing(5);
            
            this.add(slider, BorderLayout.CENTER);
            this.add(new MyPanel(), BorderLayout.NORTH);
            
            this.setSize(400,300);
            this.setVisible(true);
        }
        class MyPanel extends JPanel{
            MyPanel(){
                JTextArea jta = new JTextArea(null, 7, 30);
                
                jta.setText("");
                jta.addKeyListener(new KeyListener(){
                    @Override
                    public void keyTyped(KeyEvent e) 
                    {  
                        String str = jta.getText();
                        int c = str.length();
                        if ( c > 100 && e.getKeyChar() == 8)
                            jta.setEditable(true);
                        else if(c > 100)
                            jta.setEditable(false);
                        else{
                            slider.setValue(c);
                        }
                    }
                    @Override
                    public void keyPressed(KeyEvent ke) {
                    }
                    @Override
                    public void keyReleased(KeyEvent ke) {
                    }
                });
                this.add(new JScrollPane(jta)); 
            }
        }
    }
    public class JavaApplication54 {
        public static void main(String[] args) {
            new Ex8();
        }
    }
    
    

    <결과>

    2016/10/29 - [자바] - 자바 소스코드: 슬라이더 수치로 문자열 크기 조정

    2016/10/29 - [자바] - 자바 소스코드: 슬라이더 수치 문자열로 표현

    2016/10/29 - [자바] - 자바 소스코드: 텍스트필드의 문자열을 모두 대문자로 변환

    #자바 #자바 소스코드 #명품자바 프로그래밍 실습문제 11장 8번 #텍스트필드의 문자열을 제한하기 #슬라이더 #텍스트필드 #100자 제한 #키 리스너

    반응형