なぜ私の仕事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 を作成する方法がわかりません。あなたが見ているのは、JFrame
3つのパネルを保持する a のサブクラスへのコンストラクターです。は、このApplicationPanel
時点では単なるJPanel
. このloadImageIn()
メソッドはファイルチューザを開き、選択したイメージを にロードしますframeContent
。画像は正常に表示され、ウィンドウのサイズを変更する場合を除いて、すべてが機能し、スクロールバーはありません。