0

JFramewithnullレイアウトに垂直スクロール バーを追加したいと考えています。

それは可能ですか?助けてください!

4

2 に答える 2

6

ここで説明されているように、 JScrollPaneas ContentPaneforを設定するだけです:JFrame

public class TabbedPaneTest {
    public static void main(String [] a) {
        final JFrame frame = new JFrame();
        frame.setSize(500, 500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JScrollPane pane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

        frame.setContentPane(pane);

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                frame.setVisible(true);
            }
        });
   }
}
于 2013-09-19T11:34:59.750 に答える
2

Eclipse IDEでは、次のコードを使用できます

import java.awt.Dimension;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JLabel;

public class Test {

    private JFrame frame;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Test window = new Test();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Test() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel container = new JPanel();
        JScrollPane jsp = new JScrollPane(container);
        container.setPreferredSize(new Dimension(500, 250));
        container.setLayout(null);

        JLabel lblHelloWorld = new JLabel("Hello World");
        lblHelloWorld.setBounds(10, 11, 101, 14);
        container.add(lblHelloWorld);

        frame.getContentPane().add(jsp);
    }
}
于 2016-02-29T08:25:54.880 に答える