У меня возникли проблемы с добавлением горизонтальной полосы прокрутки в JFrame с холстом. Я рисую изображения на холсте, а иногда эти изображения перегоняют экран, поэтому я хочу, чтобы полоса прокрутки позволяла пользователю видеть их.JRrame Полоса прокрутки и холст
Это ключевой раздел в коде, если требуется какой-либо другой код, пожалуйста, дайте мне знать, и я отредактирую.
Может ли кто-нибудь указать, что я делаю неправильно?
Много спасибо J
public class TheFrame extends JFrame {
private static ThePanel canvas;
private String deckImagesToUse;
/**
* The constructor creates a Frame ready to display the cards
*/
public TheFrame(String cardImgFile) {
// Calls the constructor in the JFrame superclass passing up the name to
// display in the title
super("Window title");
//Using users choice of cards
deckImagesToUse = cardImgFile;
// When you click on the close window button the window will be closed
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// This has North, East, South, West and center positions for components
setLayout(new BorderLayout());
// This is what we will draw on (see the inner class below)
canvas = new ThePanel();
setSize(700, 300);
this.add(canvas, BorderLayout.CENTER);
//Scroll Bar
JScrollPane scrollPane = new JScrollPane(canvas);
//scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
this.getContentPane().add(scrollPane);
int desiredWidth = (Pack.cardsInPlay.size() * 70);
Dimension d = new Dimension(desiredWidth,300);
canvas.setPreferredSize(d);
setVisible(true); // Display the window
}
@StainslavL - Спасибо, что сделали это :) – user2690146
Затем принять ответ, как правильно – StanislavL