스윙/그룹홀더 알려주세요!!!
마호
체크박스처럼 누르면 텍스트상자에 누른게 뜨게끔 만들어야 하는데 아무리해도 안되네요 ㅜ,ㅜ 도와주세요...
음 콤보박스하구, 라디오버튼하구 체크박스처럼 누르면 나오게끔 만들어야 되는데.....
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class TextPo extends JPanel implements ActionListener {
private JTextField jtf;
private JTextArea jta;
public TextPo() {
jtf = new JTextField(20);
jta = new JTextArea(7,20);
JTextArea ct = new JTextArea();
add(jtf);
add(jta);
jtf.addActionListener(this);
}
public void actionPerformed(ActionEvent a) {
jta.append(a.getActionCommand()+\n);
}
}
class RadioButtonP extends JPanel implements ActionListener {
JTextField jtt;
public RadioButtonP() {
jtt = new JTextField(20);
JRadioButton jrb1 = new JRadioButton(JCheckBox);
JRadioButton jrb2 = new JRadioButton(JButton);
JRadioButton jrb3 = new JRadioButton(JComboBox);
JRadioButton jrb4 = new JRadioButton(JLabel);
add(jrb1);
add(jrb2);
add(jrb3);
add(jrb4);
jrb1.addActionListener(this);
jrb2.addActionListener(this);
jrb3.addActionListener(this);
jrb4.addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
jtt.setText(ae.getActionCommand());
}
}
class CheckBoxP extends JPanel implements ItemListener {
JTextField jtq;
public CheckBoxP() {
jtq = new JTextField(10);
JCheckBox jc1 = new JCheckBox(객체지향);
JCheckBox jc2 = new JCheckBox(Interpreter 사용);
JCheckBox jc3 = new JCheckBox(높은 이식성);
JCheckBox jc4 = new JCheckBox(Multithreaded);
add(jc1);
add(jc2);
add(jc3);
add(jc4);
add(jtq);
jc1.addItemListener(this);
jc2.addItemListener(this);
jc3.addItemListener(this);
jc4.addItemListener(this);
}
public void itemStateChanged(ItemEvent ie) {
jtq.setText(((JCheckBox)ie.getItem()).getText());
}
}
class ComboP extends JPanel implements ItemListener {
JTextField jtu;
public ComboP() {
jtu = new JTextField(10);
JComboBox jc = new JComboBox();
jc.addItem(Border Layout);
jc.addItem(Grid layout);
jc.addItem(Flow Layout);
jc.addItem(Card Layout);
add(jc);
jc.addItemListener(this);
}
public void itemStateChanged(ItemEvent ik) {
jtu.setText(((JComboBox)ik.getItem()).getText());
}
}
public class GroupHolderTest extends JFrame {
public GroupHolderTest() {
JTabbedPane jv = new JTabbedPane();
TextPo tp = new TextPo();
ComboP cbp = new ComboP();
RadioButtonP cp = new RadioButtonP();
CheckBoxP rbp = new CheckBoxP();
jv.addTab(Text, tp);
jv.addTab(swing, cp);
jv.addTab(Layout, cbp);
jv.addTab(Java, rbp);
getContentPane().add(jv);
}
public static void main(String[] args) {
GroupHolderTest jl = new GroupHolderTest();
jl.setTitle(GroupHolder Test);
jl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jl.setSize(500,150);
jl.setVisible(true);
}
}
-
황소눈
1.6에서도 에러납니다ㅋ
-
풀큰
그리고 선택된 것을 텍스트 필드에 표시하는 것이기 때문에 체크박스나 라디오버튼의 배타제어(한개만 선택가능)기능이 필요하겠군요. ButtonGroup을 사용하면 되겠네요
-
뽀그리
라디오 버튼만드는 패널하고 콤보박스 만드는 패널에서 텍스트필드를 패널에 추가하지 않으셨군요.
그리고 자바 버전이 얼마인지는 모르겠지만 일단 1.4.2에서는 에러납니다...^^;;
콤보박스 일 경우는 getText()가 아니라 getSelectedItem()이겠죠...