Прокрутка панели - Java
Формулировка задачи:
Подскажите, пожалуйста, как исправить код.
Нужно, чтобы форма содержала панель (на скрине синяя рамка). А эта панель, в свою очередь, содержала панель (красная рамка), которая будет прокручиваться в ней. Но при этом синяя рамка должна быть меньше размера формы. Пока выходит только так, как на скрине
import java.awt.*; import javax.swing.*; public class MyClass extends JFrame { public MyClass() throws HeadlessException { JPanel panel1 = new JPanel(); panel1.setBorder(BorderFactory.createLineBorder(Color.blue)); JPanel panel = new JPanel(); panel1.setBorder(BorderFactory.createLineBorder(Color.blue)); panel.setBorder(BorderFactory.createLineBorder(Color.red)); panel.setPreferredSize(new Dimension(800, 800)); panel.setBackground(Color.WHITE); JScrollPane scroll = new JScrollPane(panel); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel1.add(scroll); add(panel1); panel1.setSize(300,300); panel1.setVisible(true); setSize(500, 500); setVisible(true); } public static void main(final String[] args) throws Exception { java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new MyClass().setVisible(true); } }); }}
Решение задачи: «Прокрутка панели»
textual
Листинг программы
import java.awt.*; import javax.swing.*; public class MyClass extends JFrame { public MyClass() throws HeadlessException { JPanel panel1 = new JPanel(); panel1.setBorder(BorderFactory.createLineBorder(Color.blue)); panel1.setSize(300,300); JPanel panel = new JPanel(); panel.setBorder(BorderFactory.createLineBorder(Color.red)); panel.setPreferredSize(new Dimension(800, 800)); panel.setBackground(Color.WHITE); JScrollPane scroll = new JScrollPane(); scroll.setViewportView(panel); panel1.setLayout(new BorderLayout()); panel1.add(scroll); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(null); add(panel1); setSize(500, 500); setVisible(true); } public static void main(final String[] args) throws Exception { java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new MyClass().setVisible(true); } }); }}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д