자바 버튼을 클릭하면 새로운 패널을 생성하여 버튼을 보여주는 법
착히
자바 초보인데요 ㅠㅠ 아무리 해도 잘 안되네요 Panel에 대한 지식이 짧아서 그런가
test버튼을 클릭하면 패널을 새로 생성하여 버튼을 만들어주려고 하는데 버튼이 보이지가 않네요..
처음으로 질문올려보네요.. 답변 부탁드립니다 ^^
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import javax.swing.event.*;
public class STC extends JFrame implements ActionListener, MenuListener
{
public STC()
{
getContentPane().setLayout(null);
helloPanel();
setTitle(STC Test);
setSize(900,800);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent evt)
{
if (evt.getSource() == testButton)
OcmdPanel();
}
public void helloPanel()
{
listener = new TestListenr();
panel = new JPanel();
panel.setLayout(null);
panel.setBounds(0, 0, 800, 800);
lab1 = new Label(Welcome To ST Controller!);
lab1.setBounds(10,10,200,20);
lab2 = new Label(If you test this program, please press below button);
lab2.setBounds(10,30,400,20);
testButton = new JButton(test);
testButton.setBounds(10, 50, 60, 30);
panel.add(lab1);
panel.add(lab2);
panel.add(testButton);
testButton.addActionListener(this);
getContentPane().add(panel);
}
public void OcmdPanel()
{
System.out.println(TEST);
System.out.println(KKK);
listener = new TestListenr();
Tpanel = new JPanel();
Tpanel.setLayout(null);
Tpanel.setBounds(500, 500, 300, 80);
OcmdButton = new JButton(O command);
OcmdButton.setBounds(510, 510, 100, 30);
Tpanel.add(OcmdButton);
OcmdButton.addActionListener(this);
panel.add(Tpanel);
panel.repaint();
}
public static void main(String[] args){
Frame f = new STC();
f.show();
}
private JMenuItem saveItem;
private JMenuItem saveAsItem;
private JPopupMenu popup;
private JButton testButton, OcmdButton;
private JPanel panel, Tpanel;
private Label lab1, lab2;
private TestListenr listener;
}
-
푸른나래
아.. 감사합니다 ^^ 패널에 setBounds된 x,y 좌표가 버튼의 Default좌표가 되는거였군요
주변에 물어볼 사람도 없어서 고생했는데 정말정말 감사드립니다~~~ -
바름
OcmdButton.setBounds(10, 50, 100, 30);
좌표를 잘 생각해보세요