저는 JPanel을 가지고 있는데이 JPanel에 아주 간단한 이미지 (항목)를 그려야합니다. DrawRect 나 DrawOval과 같은 메서드를 사용하고 싶습니다.이 패널에는 스크롤바가 있습니다. this처럼 보입니다.여러 이미지로 JPanel 만들기
특정 색인에서 항목 (이미지)을 제거하고 추가해야합니다. 도와 줄수있으세요?
저는 JPanel을 가지고 있는데이 JPanel에 아주 간단한 이미지 (항목)를 그려야합니다. DrawRect 나 DrawOval과 같은 메서드를 사용하고 싶습니다.이 패널에는 스크롤바가 있습니다. this처럼 보입니다.여러 이미지로 JPanel 만들기
특정 색인에서 항목 (이미지)을 제거하고 추가해야합니다. 도와 줄수있으세요?
시작과 JList에서 봐 봐 또는 수직 BoxLayout. 이것을 JScrollPane에 넣습니다. 주요 JPanel의 내부, 당신의 drawRect(), drawOval (드로잉 할 수있는 일반의 paintComponent() 메소드를 확장 JPanel의 인스턴스)를 가지고 할 것 등이 시작하기해야
public JScrollPane buildScrollingContainerPanel()
{
JPanel containerPanel = new JPanel(new GridLayout(0, 1));
JScrollPane scrollPane = new JScrollPane(containerPanel);
containerPanel.add(new MyPanel(true, false));
containerPanel.add(new MyPanel(false, true));
return (scrollPane);
}
private class MyPanel extends JPanel
{
private boolean drawRect;
private boolean drawOval;
public MyPanel(boolean drawRect, boolean drawOval)
{
super();
this.drawRect = drawRect;
this.drawOval = drawOval;
}
public void setDrawRect(boolean b)
{
drawRect = b;
repaint();
}
public void setDrawOval(boolean b)
{
drawOval = b;
repaint();
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if (drawOval)
{
g.setColor(Color.RED);
g.drawOval(16, 16, 16, 16);
}
if (drawRect)
{
g.setColor(Color.GREEN);
g.drawRect(32, 32, 16, 16);
}
}
}
에 containerPanel의 자식에 액세스하려면 containerPanel.getComponent(int)
을 사용하고 MyPanel로 캐스팅합니다.
당신은이 중 하나 GridLayout과를 사용합니다 (아마 GridLayout
)
적절한 LayoutManager
당신이 주요 인 JPanel와 Icons
답변 해 주셔서 감사합니다. 이전에는 DrawOval과 같은 메서드를 사용한 아이콘을 사용한 적이 없습니다. 파일의 이미지 만로드했습니다. 파일에서 이미지를로드하고 싶지 않습니다. 무언가를 그리는 방법을 간단한 예제로 게시하고 아이콘에 저장할 수 있습니까? – user1313386
대단히 고마워요. 정말 훌륭하게 작동합니다. – user1313386