{
public static void main(String[] args)
{
new myframe();
//creating main jframe instance
}
}
/////////////////////////////////////////////////////////////////////////////
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import javax.swing.JPanel;
public class myDrawboard extends JPanel{
public myDrawboard()
{
setBackground(Color.BLACK);
}
public void paintComponent(Graphics g){
}
public int countItem() {
// TODO Auto-generated method stub
return 0;
}
public void removeBall() {
// TODO Auto-generated method stub
}
public void additem(int parseInt, String string) {
// TODO Auto-generated method stub
}
}
/////////////////////////////////////////////////////////////////////////
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class myframe extends JFrame
{
Container c;
JPanel panel;
JButton addbutton,removebutton;
JLabel counter,ballsize;
JTextField size_input;
JComboBox cb;
buttonListener handle;
myDrawboard myboard;
public myframe()
{
super("BOUNCING ITEM Simulator");
c=getContentPane();
c.setLayout(new BorderLayout());
size_input=new JTextField(2);
counter=new JLabel("ITEM Count: ");
ballsize=new JLabel("ITEM Size: ");
addbutton=new JButton("Add");
removebutton=new JButton("Remove");
cb=new JComboBox();
cb.addItem("Ball");
cb.addItem("Box");
handle=new buttonListener();
addbutton.addActionListener(handle);
removebutton.addActionListener(handle);
panel=new JPanel();
panel.add(ballsize);
panel.add(size_input);
panel.add(addbutton);
panel.add(removebutton);
panel.add(counter);
panel.add(cb);
c.add(new Panel(),BorderLayout.NORTH);
c.add(new Panel(),BorderLayout.EAST);
c.add(new Panel(),BorderLayout.WEST);
myboard=new myDrawboard();
c.add(myboard,BorderLayout.CENTER);
c.add(panel,BorderLayout.SOUTH);
setSize(640,480);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public class buttonListener implements ActionListener
{
int i;
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==addbutton)
{
if(!size_input.getText().equals(""))
{
try{
myboard.additem(Integer.parseInt(size_input.getText()),cb.getSelectedItem().toString());
counter.setText("ITEM Count:"+myboard.countItem());
}
catch(NumberFormatException e)
{
System.out.println(e);
JOptionPane.showMessageDialog(null,"Enter only numbers!","Invalid Input",JOptionPane.INFORMATION_MESSAGE);
}
}
else
{
JOptionPane.showMessageDialog(null,"Enter the ITEM size!","Input needed",JOptionPane.INFORMATION_MESSAGE);
}
}
if(ae.getSource()==removebutton)
{
myboard.removeBall();
counter.setText("ITEM Count:"+myboard.countItem());
}
}
}
}
//////////////////////////////////////////////////////////////////////////////////
paintComponent에서 drawRect같은거 쓰면 사각형 잘생기는데
뒤에 정가운데에 검은색 배경 박고 싶은데 적용이 안되 ㅠ.ㅠ
아무리 봐도 맞는거 같은데 적용이 안되 ㅠ.ㅠ.
fillRect 이놈아
이클립스에서 g. 만 해도 자동완성 쫙 뜨거늘
myDrawboard클래스안에 생성자에서 setbackground(Color.BLACK)써서 myframe에서 배경 박고 싶은데 왜안되는거야 ㅠ.ㅠ
기껏 생성자에서 setBackground 했더니 자동으로 불릴 paint() -> paintComponent() 에서 아무것도 안하니까
paintComponent() { super.paintcomponent(); } 하던가..
paintComponent(g) { g.setColor(Color.BLACK); g.fillRect(0, 0, width, height); } 하던가..
paintcomponent()에서 fillRect쓰면 setbackground는 필요업지안아? 방금 해봣는데 fillrect만 써도 배경 설정 되는데?
A 하던가 B 하던가 라고 써줘도 안읽는 너
고마워 횽 ㅠ.ㅠ
컴포넌트의 paint 에 대한 개념을 잡아야할듯
http://okjungsoo.tistory.com/263