Прокрутка панели - 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);
- } });
- }}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д