누군가 내 JScrollPane
이 작동하지 않는 이유를 알아낼 수 있습니까? 아마도 내가 놓친 것일 수도 있습니다. 나는 이것이 내가 보여준 것보다 더 이상 상황이 없다면 어리석은 짓을할지 모른다는 것을 알지만, 더 많은 것을 제공하게되어 기쁘다.JScrollPane이 작동하지 않는 이유는 무엇입니까?
public ApplicationFrame(String title, int x, int y, int width, int height) {
// Constructor for the ApplicationFrame, no implicit Construc.
setTitle(title);
setResizable(true);
setBounds(x, y, width, height);
setLayout(new BorderLayout());
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setIconImage(new ImageIcon(getClass().getResource("resources/topLeft.png")).getImage());
topMostMenuBar = new TopMenuBar(this);
setJMenuBar(topMostMenuBar.getMyJMenuBar());
paneEdge = BorderFactory.createLineBorder(Color.gray);
blackline = BorderFactory.createLineBorder(Color.black);
this.frameContent = new ApplicationPanel() {
//@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(TI, 0, 0, null);
}
};
mainImageScrollPane = new JScrollPane(frameContent);
statusPanel = new ApplicationPanel(new Color(0xfff0f0f0));
leftPanel = new ApplicationPanel(new Color(0xfff0f0f0));
testPanel = new ColorPanel(new Color(0xfff0f0f0));
testPanel.setPreferredSize(new Dimension(50,300));
add(mainImageScrollPane, BorderLayout.CENTER);
add(statusPanel, BorderLayout.SOUTH);
add(leftPanel, BorderLayout.WEST);
Container visibleArea = getContentPane();
visibleArea.add(frameContent);
setVisible(true);
do {
loadImageIn();
} while (!initLoadSuccess);
initButtons();
leftPanel.add(testPanel, BorderLayout.SOUTH);
} // end Constructor **
이것은 코드의 큰 부분이므로 SSCCE를 만드는 방법을 잘 모르겠습니다. 당신은 3 개의 패널을 가지고있는 JFrame
의 서브 클래스에 대한 생성자를 보았습니다. ApplicationPanel
은이 시점에 단지 JPanel
입니다. loadImageIn()
메서드는 파일 선택기를 열고 frameContent
에 그려진 선택한 이미지를로드합니다. 이미지가 잘 표시되고, 모든 것이 작동합니다. 창 크기를 조정할 때를 제외하고는 스크롤 막대가 없습니다.
더 나은 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. –