import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Abc extends JFrame implements ActionListener{
Font a;
Color c;
JButton jr1;
JButton jr2;
JButton jr3;
JButton jr4;
JButton jr5;
JButton jr6;
JButton jr7;
JTextPane ta;
public Abc(){
Container ct = getContentPane();
ct.setLayout(new BorderLayout());
JTextPane ta = new JTextPane();
a = new Font("TimesRoman",Font.PLAIN,12);
c = Color.black;
ta.setFont(a);
ta.setForeground(c);
JMenuBar jmb = new JMenuBar();
JMenu menu1 = new JMenu("파일");
JMenu menu2 = new JMenu("편집");
JMenuItem jmi = new JMenuItem("새파일");
menu1.add(jmi);
jmi = new JMenuItem("열기");
menu1.add(jmi);
jmi = new JMenuItem("저장하기");
menu1.add(jmi);
jmi = new JMenuItem("인쇄하기");
menu1.add(jmi);
jmb.add(menu1);
jmi = new JMenuItem("잘라내기");
menu2.add(jmi);
jmi = new JMenuItem("복사");
menu2.add(jmi);
jmi = new JMenuItem("실행취소");
menu2.add(jmi);
jmb.add(menu2);
JPanel jp1 = new JPanel();
JButton jr1 = new JButton("빨간색");
JButton jr2 = new JButton("굵게");
JButton jr3 = new JButton("파란색");
JButton jr4 = new JButton("기울임");
JButton jr5 = new JButton("녹색");
JButton jr6 = new JButton("기본");
JButton jr7 = new JButton("검은색");
jp1.setLayout(new GridLayout(5,1));
jp1.add(new JRadioButton("글자색"));
jp1.add(new JRadioButton("글자체"));
jp1.add(jr1);
jp1.add(jr2);
jp1.add(jr3);
jp1.add(jr4);
jp1.add(jr5);
jp1.add(jr6);
jp1.add(jr7);
jr1.addActionListener(this);
jr2.addActionListener(this);
jr3.addActionListener(this);
jr4.addActionListener(this);
jr5.addActionListener(this);
jr6.addActionListener(this);
jr7.addActionListener(this);
ct.add(jp1,BorderLayout.WEST);
ct.add(ta);
ct.add(jmb,BorderLayout.NORTH);
}
public void actionPerformed(ActionEvent ae) //이벤트 처리 부분
{
if(ae.getSource()==jr1){
c=Color.red;
ta.setForeground(c);
}
else if(ae.getSource()==jr2){
a=new Font("TimesRoman",Font.BOLD,12);
ta.setFont(a);
}
else if(ae.getSource()==jr3){
c=Color.blue;
ta.setForeground(c);
}
else if(ae.getSource()==jr4){
a= new Font("TimesRoman",Font.ITALIC,12);
ta.setFont(a);
}
else if(ae.getSource()==jr5){
c=Color.green;
ta.setForeground(c);
}
else if(ae.getSource()==jr6){
a=new Font("TimesRoman",Font.PLAIN,12);
ta.setFont(a);
}
else if(ae.getSource()==jr7){
c=Color.black;
ta.setForeground(c);
}
}
public static void main(String[] args) {
Abc pd = new Abc();
pd.setTitle("문서 편집기");
pd.setSize(500,500);
pd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pd.setVisible(true);
}
}
이 프로그램이 실행까지는 되는데요.
버튼을 누르면 글꼴이 변하거나 글자색이 변해야 되는데 그 부분이 아예 되지 않네요
책을 아무리 찾아봐도 어디가 잘못 되었는지 잘 모르겠더군요
소스까지는 안 써주셔도 되니.. 해결 실마리라도 알려주시면 좋겠네요
그리고 메뉴 부분은 띄우기만 하는 곳이니 상관하지 않으셔도 됩니다
첫댓글 JTextPane 샘플 소스를 검색을 통해서 찾아보세요. 조금만 찾아보시면 범위 설정하는 방법과 글꼴/특성 설정하는 방법을 예제 샘플로 올려놓은 사이트를 찾을 수 있을거에요